banjalukaforum.com
https://banjalukaforum.com/

Imam jedan problem sa Javom..(Java)
https://banjalukaforum.com/viewtopic.php?f=18&t=47886
Stranica 1 od 1

Autoru:  vajking [ 15 Feb 2010, 14:47 ]
Tema posta:  Imam jedan problem sa Javom..(Java)

Zadatak mi je da napravim program koji simulira jednu trku, da unesem podatke pocetka i kraj trke, znaci startHour,startMinute,startSecond - >< - endHour,endMinute,endSecond, i da dobijem to vrijeme koje je trajalo.

Prvi problem mi je bio da program pokaze tacno vrijeme, znaci dok god je endHour,endMinute,endSecond bio veci od startH,M,S pokazivalo je ok rezultat, ali cim je end,M,S bio manji od start,M,S onda bi program pokazivao recimo 1sat -5minute -5 sekundi.

Nesto sam iz kombinovao i napravio da pokaze negativno vrijeme, ali sada dodaje extra vrijeme u minute i sekunde umjesto da prebaci na Hour on pokaze 0sati 65minute 65sekunde.

Recimo primjer

Start
startHour: 15
startMinute: 10
startSecond: 10

End
endHour: 16
endMinute: 05
endSecond 05

rezultat bude 0 : 55 : 55, kao sto treba da bude.

Ali ako napisem ovako:

Start
startHour: 15
startMinute: 10
startSecond: 10

End
endHour: 16
endMinute: 15
endSecond : 15

rezultat bude 0 : 65 : 65
trebalo bi da bude 1 : 05 : 05

Kako da napravim da pokaze program korektno vrijeme?? Hvala vam unaprijed!

Evo Java kod:

Kod:
import javax.swing.*;
import java.text.SimpleDateFormat;


public class e
{
    public static void main(String[] args)
    {
       
        // Variabler

        int start = 0;
        int end = 0;

       
        int startHour = 0;
        int startMinute = 0;
        int startSecond = 0;
       
        int endHour = 0;
        int endMinute = 0;
        int endSecond = 0;
       
        //Inmatning

        startHour = Integer.parseInt(JOptionPane.showInputDialog("Start Hour"));
        startMinute = Integer.parseInt(JOptionPane.showInputDialog("Start Minute"));
        startSecond = Integer.parseInt(JOptionPane.showInputDialog("Start Second"));
       
        endHour = Integer.parseInt(JOptionPane.showInputDialog("End Hour"));
        endMinute = Integer.parseInt(JOptionPane.showInputDialog("End Minute"));
        endSecond = Integer.parseInt(JOptionPane.showInputDialog("End Second"));
       
        //Bearbeting
       

       
   
        start = startHour*60*60 + startMinute*60 + startSecond;
        end = endHour*60*60 + endMinute*60 + endSecond;
       
        startHour -= start / 3600;
        endHour -= end / 3600;
       
        startMinute = start / 60;
        endMinute = end / 60;
       
        startSecond = start / 60;
        endSecond = end / 60;
       
       
       
        //Utskrift
       



        JOptionPane.showMessageDialog(null, " Time Result: " + (endHour - startHour) + " Hours " + (endMinute - startMinute) + " Minutes " + (endSecond - startSecond) + " Seconds ");

       
    }

Autoru:  MuskoBre [ 15 Feb 2010, 16:12 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Uslov. Varijabla minuta > ili jednaka 60, uvecavas hour za 1.

Autoru:  vajking [ 15 Feb 2010, 16:38 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

MuskoBre je napisao:
Uslov. Varijabla minuta > ili jednaka 60, uvecavas hour za 1.


Razumijem na sta mislis, ali ja nemam Variabel "Hour". Vec startHour i endHour. Kako bi mogao da napravim Uslov(if)?

Kod:
if(endMinute>60)
{
  ?????
}


U ostalom hvala na odgovoru! :)

Autoru:  Hristov [ 15 Feb 2010, 17:07 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Kako je u Holandiji? :D

Evo ti rijesenja, barem mislim da je to ono sto tebi treba:

Kod:
int seconds = end - start;
int hours = seconds/3600;
int minutes = (seconds % 3600)/60;
seconds = seconds % 60;

JOptionPane.showMessageDialog(null, " Time Result: " + (hours) + " Hours " + (minutes) + " Minutes " + (seconds) + " Seconds ");


Hint: napravio si dvije greske ako se ne varam, prva je aritmeticka zbog cega su ti sati uvijek bili 0, a druga greska je da nisi pri racunanju minuta i sekundi oduzeo onaj dio koji je vec rezervisan za sate, odnosno minute.

Autoru:  vajking [ 15 Feb 2010, 18:10 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Hristov je napisao:
Kako je u Holandiji? :D

Evo ti rijesenja, barem mislim da je to ono sto tebi treba:

Kod:
int seconds = end - start;
int hours = seconds/3600;
int minutes = (seconds % 3600)/60;
seconds = seconds % 60;

JOptionPane.showMessageDialog(null, " Time Result: " + (hours) + " Hours " + (minutes) + " Minutes " + (seconds) + " Seconds ");


Hint: napravio si dvije greske ako se ne varam, prva je aritmeticka zbog cega su ti sati uvijek bili 0, a druga greska je da nisi pri racunanju minuta i sekundi oduzeo onaj dio koji je vec rezervisan za sate, odnosno minute.



Blizu si :) al sam iz svedske...


Hvala ti za kod. Imam jedno pitanje. problem je meni sto imam dva variabla od Hours,minutes i seconds. recimo startHour i endHour. kako bi onda mogao koristim tvoje rijesenje... Hvala

Autoru:  Hristov [ 15 Feb 2010, 18:44 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Evo ga:

Kod:
import javax.swing.*;
import java.text.SimpleDateFormat;

public class e
{
    public static void main(String[] args)
    {
        int startHour = Integer.parseInt(JOptionPane.showInputDialog("Start Hour"));
        int startMinute = Integer.parseInt(JOptionPane.showInputDialog("Start Minute"));
        int startSecond = Integer.parseInt(JOptionPane.showInputDialog("Start Second"));
       
        int endHour = Integer.parseInt(JOptionPane.showInputDialog("End Hour"));
        int endMinute = Integer.parseInt(JOptionPane.showInputDialog("End Minute"));
        int endSecond = Integer.parseInt(JOptionPane.showInputDialog("End Second"));
       
        int start = startHour*60*60 + startMinute*60 + startSecond;
        int end = endHour*60*60 + endMinute*60 + endSecond;
      
        int seconds = end - start;
        int hours = seconds/3600;
        int minutes = (seconds % 3600)/60;
        seconds = seconds % 60;

        JOptionPane.showMessageDialog(null, " Time Result: " + (hours) + " Hours " + (minutes) + " Minutes " + (seconds) + " Seconds ");
    }

Autoru:  vajking [ 15 Feb 2010, 19:34 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Hristov je napisao:
Evo ga:

Kod:
import javax.swing.*;
import java.text.SimpleDateFormat;

public class e
{
    public static void main(String[] args)
    {
        int startHour = Integer.parseInt(JOptionPane.showInputDialog("Start Hour"));
        int startMinute = Integer.parseInt(JOptionPane.showInputDialog("Start Minute"));
        int startSecond = Integer.parseInt(JOptionPane.showInputDialog("Start Second"));
       
        int endHour = Integer.parseInt(JOptionPane.showInputDialog("End Hour"));
        int endMinute = Integer.parseInt(JOptionPane.showInputDialog("End Minute"));
        int endSecond = Integer.parseInt(JOptionPane.showInputDialog("End Second"));
       
        int start = startHour*60*60 + startMinute*60 + startSecond;
        int end = endHour*60*60 + endMinute*60 + endSecond;
      
        int seconds = end - start;
        int hours = seconds/3600;
        int minutes = (seconds % 3600)/60;
        seconds = seconds % 60;

        JOptionPane.showMessageDialog(null, " Time Result: " + (hours) + " Hours " + (minutes) + " Minutes " + (seconds) + " Seconds ");
    }



A covjece pa zar moze da bude ovako jednostavno :)

Hvala ti ko bratu!! Sad ovo moram da naucim pa da i polozim ispit haha :) Hvala!

Autoru:  Hristov [ 15 Feb 2010, 20:20 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Nema na čemu, kasa je kod izlaza :D

Pa u tome i jeste čar programiranja i algoritama, što tražiš najoptimalnija moguća riješenja.

Sretno sa ispitom!

Autoru:  vajking [ 15 Feb 2010, 20:35 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Hristov je napisao:
Nema na čemu, kasa je kod izlaza :D

Pa u tome i jeste čar programiranja i algoritama, što tražiš najoptimalnija moguća riješenja.

Sretno sa ispitom!


Jest upravu si.. Ovaj predmet radim preko neta na fakultetu, tako da nemam ucitelja da mi objasni. Malo je potesko ali razumijem vise i vise.. Uglavnom interesantan predmet.

Autoru:  portir [ 21 Feb 2010, 14:29 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Šta se uopšte kačiš sa takvim tipovima. Javu zna cijeli gradi i možemo slobodno reći da čitav život važi za opasnog tipa.

Autoru:  Hristov [ 21 Feb 2010, 22:11 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

grrhmmmhrhhhffhmrhrhhhghahghh :lol:

Autoru:  che.guevara [ 10 Mar 2010, 05:25 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

Ej niste obradili slučaj kada se unazad vraća jedna sekunda :lol:

Autoru:  vajking [ 10 Mar 2010, 15:40 ]
Tema posta:  Re: Imam jedan problem sa Javom..(Java)

che.guevara je napisao:
Ej niste obradili slučaj kada se unazad vraća jedna sekunda :lol:


obradjeno je 8)

Stranica 1 od 1 Sva vremena su u UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/