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? |
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! |
|
|
|