Hej hopp! ar=JOptionPane.showInputDialog("År 1940-2002 :"); Aj, aj, aj...Saknas något i början ?
Får detta felmedelande, vad kan jag tänkas ha gjort fel, måste man ha med något speciellt i början för att följande rader ska fungera:
---
int ar;
ar=JOptionPane.showInputDialog("År 1940-2002 :");
---
Jag har redan:
import java.text.*;
import java.lang.Math;
import javax.swing.*;
public class uppg3_3{
E:\Program\Xinox Software\JCreator LE\MyProjects\uppg3_3.java:17: incompatible types
found : java.lang.String
required: int
dag=JOptionPane.showInputDialog("Dag Datum nämnda månad :");
-----Hela koden----
import java.text.*;
import java.lang.Math;
import javax.swing.*;
public class uppg3_3{
public static void main(String args[]) {
int ar;
int manad;
int dag;
/* Läser in år, månad och dag */
ar=JOptionPane.showInputDialog("År 1940-2002 :");
manad=JOptionPane.showInputDialog("Månad 1-12 :");
dag=JOptionPane.showInputDialog("Dag Datum nämnda månad :");
/* Ger varje månad dess antal dagar. D+ den börjar räkna åp 0, ger vi dagar[0] värde 0
för att förenkla senare */
int[] dagar = {0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 };
if (ar < 1940 || ar > 2002)
System.out.println("Fel år");
else
{
if(manad>12)
System.out.println("Fel månad");
else
{
if(dag>dagar[manad])
System.out.println("För många dagar för angiven månad");
else
System.out.println("Datumet är korrekt");
}
}
}
}Sv: Saknas något i början ?
din ar är deklarerad som en int - men du får tillbaka en sträng från
ovanstående uttryck. Gör en explicit konvertering.
/EmmaSv: Saknas något i början ?
Det går inte att explicit "casta" (int ar = (String) JOptionPa...) en String till en int så att du e tvungen att gå den långa vägen...
Prova att istället göra ngt liknande:
String str;
int i;
// ..massa kod...
str = JOptionPane.showInputDialog("Message");
try {
i = Integer.parseInt(str);
} catch (NumberFormatException e) {
}
..det borde fungera...
/Andreas