Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema con orario in secondi!!!!

    salve a tutti!!!!
    ho un problema con questo programma.volglio calcolare l'ora dando come unico campo i secondi...però nn va!!!!

    ho creato questo oggetto:
    public class Tempo {

    private int secondi;



    public Tempo(int h, int m, int s)
    {
    h=0;
    m=0;
    s=0;

    h = secondi/3600;
    m = h-secondi/60;
    s = secondi-h*3600-m*60;
    }

    public Tempo(int h, int m)
    {
    h=0;
    m=0;

    h = secondi/3600;
    m = h-secondi/60;
    }

    public Tempo(int h)
    {
    h=0;
    h = secondi/3600;
    }




    public int getOra ()
    {
    return h;
    }
    public int getMinuti ()
    {
    return m;
    }

    public int getSecondi ()
    {
    return s;
    }

    public void setOre (int h)
    {
    h= h;
    }

    public void setMinuti (int m)
    {
    m= m;
    }

    public void setSecondi (int s)
    {
    s= s;
    }

    public String stringOr(":") //questo è il metodo per stampare con :
    {
    String h=String.valueOf(h);
    String m=String.valueOf(m);
    String s=String.valueOf(s);

    return h + ":" + m +":"+ s;
    }



    }


    e poi ho creato un main:
    public class Main {

    public static void main(String[] args)
    {

    int secondi=3665;


    t1= new Tempo(h);

    System.out.println("Sono le ore: "+ t1.stringOr();

    }
    }
    HELP ME!!!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema con orario in secondi!!!!

    Originariamente inviato da dandanjj
    codice:
    public class Tempo {
    	private int secondi;
    
    	public Tempo(int h, int m, int s)
    	{
    	  	h=0;
    	  	m=0;
    	  	s=0;
    	
    		h = secondi/3600;	
    		m = h-secondi/60;
    		s =	secondi-h*3600-m*60;
    	}  
      
    	public Tempo(int h, int m)
    	{
    	  	h=0;
    	  	m=0;
    		
    		h = secondi/3600;	
    		m = h-secondi/60;
    	}    
      
    	public Tempo(int h)
    	{
    	  	h=0;
    		h = secondi/3600;
    	}    
    
       .......
    
    }
    Mi spiace ma in questo codice (e anche nella sezione che ho omesso per brevità) c'è ben poco che ha senso!!

    Hai un campo di istanza 'secondi', non c'è nessun punto in cui lo valorizzi. Al contrario, lo usi in espressioni per assegnare qualcosa ai parametri!!! Cosa che appunto non ha senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ok...la cosa che vorrei far venire fuori è dare come solo input i secondi che poi si vadano a suddividere in ore minuti e secondi usando il costruttore a 1 2 e 3...il valore dei secondi poi lo inserisco nel main...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dandanjj
    la cosa che vorrei far venire fuori è dare come solo input i secondi che poi si vadano a suddividere in ore minuti e secondi usando il costruttore a 1 2 e 3...il valore dei secondi poi lo inserisco nel main...
    Se vuoi passare a Tempo solo i secondi .... cosa centrano gli altri costruttori?

    Vuoi che Tempo riceva i secondi "assoluti" (solo 1 valore quindi), si calcoli ore/minuti/secondi e consenta di "esporre" queste 3 informazioni?

    Bene: metti 1 costruttore in Tempo che riceve i secondi "assoluti", che fa i calcoli e assegna a 3 variabili di istanza marcate private. Poi in Tempo metti 3 metodi "getter" per ottenere i valori.
    Fine della storia.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    ho fatto 3 costuttori perché voglio avere la possibilità di scegliere se stampare per es. 20:20:20
    oppure 12:23 o 12 in modo da visualizzare solamente l ora

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dandanjj
    scegliere se stampare per es. 20:20:20 oppure 12:23 o 12 in modo da visualizzare solamente l ora
    Non è così che "scegli" cosa stampare e non è così che si dovrebbe fare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    se creo i costruttori poi nel main quando faccio t1=new Tempo (h,m,s) non scelgo qual costruttore utilizzare?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dandanjj
    se creo i costruttori poi nel main quando faccio t1=new Tempo (h,m,s) non scelgo qual costruttore utilizzare?
    Sì, ma allora devi passare ore, minuti e secondi .... e non è invece quello che vuoi ottenere dai secondi "assoluti" nel giorno?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    non so se sono riuscito a farmi capire...riassumendo il tutto voglio ottenere l orario con
    un campo (secondi)
    tre costruttori
    tre metodi get
    tre metodi set
    un metodo stampa

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dandanjj
    non so se sono riuscito a farmi capire...riassumendo il tutto voglio ottenere l orario con
    un campo (secondi)
    tre costruttori
    tre metodi get
    tre metodi set
    un metodo stampa
    Senti ... non so cosa conosci della programmazione (in generale e Java) ma così non ci siamo proprio!

    3 costruttori uno h,m,s l'altro h,m, l'ultimo h ? Fin qui sarebbe ok. Ma dici che vuoi avere solo 1 campo con i secondi ... e allora ora/minuti/secondi dove li metti per averli/settarli con i getter/setter?

    E comunque non è con questi costruttori, invocando uno o l'altro che potresti/dovresti scegliere cosa stampare.
    La scelta la fai tu eventualmente invocando solo i getter che ti interessano oppure mettendo ad esempio un metodo es. formatta(int formato) che riceve un parametro che fa da "flag" per indicare quale "formato" vuoi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.