PDA

Visualizza la versione completa : [java]istruzioni condizionali


..$maxxisi$..
28-12-2004, 18:32
Salve a tutti,
da po' di tempo sono alle prese con un interprete java: cosa c' di sbagliato in queste righe?
import javax.swing.*;
class If {
public static void main(java.lang.String[]) {
String input = JOptionPane.show.Input.Dialog(numero);
int nam = Integer.parseInt(input);
int po = 100;
if (nam = po)
{
int aint = 1;
nam = nam + aint;
}
else
{
System.out.println("");
}
System.exit(0);
}
}
non vi arrabiate se ho fatto errori catastrofici, sono alle prime armi! :D
Grazie in anticipo.

perzem
28-12-2004, 19:10
che errori ti da?? poi evidenzia tutto il codice e premi il bottone code cos il codice pi chiaro

tommisceddu
28-12-2004, 19:18
:master:
public static void main(java.lang.String[])in questo punto non so se sia necessario ma io scriverei
public static void main(java.lang.String[] args) {
mentre qui c' un grosso errore
if (nam = po) con questa riga di codice stai dicendo:
assegna 'po' a 'nam' e verifica se il nuovo 'nam' diverso da zero.

quello che volevi dire tu il seguente
if (nam == po) quindi il simbolo '=' un assegnamento mentre '==' un uguaglianza

fammi sapere se funge ora, e poi fammi sapere anche che problemi dava prima

perzem
28-12-2004, 19:18
cos dovrebbe essere corretto...



import javax.swing.JOptionPane;
public class Main{

public static void main (String [] args){
String input = JOptionPane.showInputDialog(null);
int nam = Integer.parseInt(input);
int po = 100;
if (nam== po)
{
int aint = 1;
nam = nam + aint;
}
else
{
System.out.println("");
}
System.exit(0);
}

}




1.hai scritto erratamente il codice per la joption. Senza scrivere ogni volta tutta quella pappardella basta che fai un import in cima
2.i controlli di uguaglianza vanno fatti con == non =

..$maxxisi$..
28-12-2004, 19:46
scusa Parzem ma quando dici:

public class Main{
dichiari come si chiama il programma?

..$maxxisi$..
28-12-2004, 20:11
perche se io scrivo come dici tu mi vengono una marea di errori

per esempio mi appare la scritta:

class main is public, should be declared in file name main.java
perche forse pensa che dichiaro la classe main.java
poi:

cannot resolve symbol
symbol : class
location : class main
int as = 1;
poi ancora:

nam is already defined in main (lang.java.Strings)
nam = nam + as
^
:confused:

anx721
28-12-2004, 20:27
class main is public, should be declared in file name main.java

significa che qundo dichiari una classe pubblica la devi dichiarare in un file che ha lo stesso nome della classe; se capisci un po l'inglese leggi attentamente i messagi del compilatore java, che quasi sempre ti indica molto precisamente la causa dell'errore.

tommisceddu
28-12-2004, 20:56
il problema che devi chiamare il file con lo stesso nome della classe. Ho provato il codice di perzem e apparte qualche miglioria funziona perfettamente

import javax.swing.JOptionPane;
public class nomeclasse
{
public static void main (String [] args)
{
String input = JOptionPane.showInputDialog(null);
int nam = Integer.parseInt(input);
int po = 100;
if (nam == po)
nam++;
else
System.out.println("");

System.exit(0);
}
}visto che aint uguale a 1 puoi scrivere

nam++; al posto di
int aint = 1;
nam = nam + aint;a meno che il valore di aint non venga modificato.

P.S. ricordati di chiamare il file con lo stesso npome della classe

..$maxxisi$..
28-12-2004, 22:54
UAO!
Grazie ora funziona alla meraviglia!
Grazie tante!
ciao :ciauz:

Loading