Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Programmazione
 
dubbio su array Orario [] tempi
Clicca QUI per vedere il messaggio nel forum
albakiara
Salve a tutti,
dovrei creare e inizializzare quell'array con questi orari:
12:00, 2:05, 10:15

io ho fatto così, però mi dà errori:
Orario[] tempi = {new Orario(2:05), new Orario(10:15), new Orario (12:00) };

cosa sbaglio? :(

CowBoy
Il costruttore Orario che tipo di variabile prende come parametro? Hai una descrizione della classe Orario?

Constructor Summary
Orario()
Costruisce un nuovo orario che rappresenta l'orario attuale, cioè l'orario relativo all'istante in cui viene invocato.
Orario(int hh, int mm)
Costruisce un nuovo orario a partire dai due argomenti specificati che rappresentano, nell'ordine, ore e minuti.
Orario(java.lang.String s)
Costruisce un nuovo orario a partire dalla stringa specificata come argomento nel formato "hh:mm".



http://pighizzini.dico.unimi.it/jb/...ili/Orario.html

Prova a modificarlo così:

Orario[] tempi = { new Orario("02:05"), new Orario("10:15"), new Orario("12:00") };

oppure singolarmente:

Orario[] tempi = new Orario[3];
tempi[0] = new Orario("02:05");
tempi[1] = new Orario("10:15");
tempi[2] = new Orario("12:00");

Ciao!

lektronar
il problema è la stringa, il costruttore col formato hh:mm vuole un letterale stringa.

albakiara
potresti scrivere il codice? grazie

CowBoy
Il problema in modo sintetico si chiama "doppio apice non formattato" :)
hh:mm vuol dire che devi passare una stringa di 5 caratteri, mentre 2:05 ne ha solo 4. Per rispettare il formato devi inserire "02:05".

code:
import prog.utili.*; class Prova { public static void main() { Orario[] tempi = { new Orario( "02:05" ), new Orario( "10:15" ), new Orario( "12:00" ) }; for ( int i = 0; i < 3; i++ ) System.out.println( tempi[i].toString() ); } }

oksana213
class Soluzione{



public static void main (String [] args){

String [] temp = {new String ("12:05"), new String ("2:05"), new

String ("10:15")};



for (int i=0; i<3; i++)
System.out.print(temp[i].toString() + " ");
System.out.println();

}

}

CowBoy
Originally posted by oksana213
class Soluzione{



public static void main (String [] args){

String [] temp = {new String ("12:05"), new String ("2:05"), new

String ("10:15")};



for (int i=0; i<3; i++)
System.out.print(temp[i].toString() + " ");
System.out.println();

}

}


Ma l'oggetto non era di tipo Orario?

albakiara
si appunto :-)

CowBoy
Il codice che ti ho postato sopra l'ho provato e funziona. Se hai dei problemi di questo tipo il mio suggerimento è di guardare subito le API delle classi coinvolte.

Ciao! :)

lektronar
Non c'entra nulla l'apice non formattato etc... è solo che non passava un tipo argomento corretto, ovvero mancavano i doppi apici. Non è richiesto lo '0' davanti a ore minori di 10.

CowBoy
mmm... allora avrò una vecchia versione della classe Orario, perché a me mi dava un errore se mettevo "2:10" al posto di "02:10".

Problema risolto cmq!

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate