banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 21 Jun 2025, 17:28

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 13 Posta ] 
Autoru Poruka
PostPoslato: 15 Feb 2010, 14:47 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
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 ");

       
    }


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 16:12 
OffLine
Bič božji
Bič božji
Korisnikov avatar

Pridružio se: 16 Jul 2004, 12:09
Postovi: 10379
Uslov. Varijabla minuta > ili jednaka 60, uvecavas hour za 1.

_________________
Viva Elena, Viva Nicolae!


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 16:38 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
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! :)


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 17:07 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
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.

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 18:10 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
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


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 18:44 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
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 ");
    }

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 19:34 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
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!


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 20:20 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
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!

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
PostPoslato: 15 Feb 2010, 20:35 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
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.


Vrh
 Profil  
 
PostPoslato: 21 Feb 2010, 14:29 
OffLine
Početnik
Početnik
Korisnikov avatar

Pridružio se: 26 Feb 2009, 23:20
Postovi: 48
Š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.


Vrh
 Profil  
 
PostPoslato: 21 Feb 2010, 22:11 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
grrhmmmhrhhhffhmrhrhhhghahghh :lol:

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
PostPoslato: 10 Mar 2010, 05:25 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Ej niste obradili slučaj kada se unazad vraća jedna sekunda :lol:


Vrh
 Profil  
 
PostPoslato: 10 Mar 2010, 15:40 
OffLine
Početnik
Početnik

Pridružio se: 15 Feb 2010, 14:31
Postovi: 62
che.guevara je napisao:
Ej niste obradili slučaj kada se unazad vraća jedna sekunda :lol:


obradjeno je 8)


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 13 Posta ] 

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 1 gost


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs