arnada Postad September 5, 2006 Dela Postad September 5, 2006 Hej, jag och några kompisar håller på med java i skolan så gav vi oss på ett litet program som vägrar att fungera. Här är källkoden: public class Ex{ public static void main(String[] args){ boolean fortsatt = true; double radie, längd, volym, höjd, bredd; final double PI = 3.14159; do{ System.out.println(" MENYn"); System.out.println("1. Klot"); System.out.println("2. Rätblock"); System.out.println("3. Cylinder"); System.out.println("4. Avsluta"); System.out.print("Ge ditt val: "); char val = Keyboard.readChar(); switch(val){ case '1': System.out.print("Ange radie: "); radie = Keyboard.readDouble(); volym = 4*PI*radie*radie*radie/3; break; case '2': System.out.print("Ange längd: "); längd = Keyboard.readDouble(); System.out.print("Ange bredd: "); bredd = Keyboard.readDouble(); System.out.print("Ange höjd: "); höjd = Keyboard.readDouble(); volym = längd*bredd*höjd; break; case'3': System.out.print("Ange radie: "); radie = Keyboard.readDouble(); System.out.print("Ange höjd: "); höjd = Keyboard.readDouble(); volym = PI*radie*radie*höjd; break; case '4': fortsatt = false; break; default: System.out.println("Fel"); } if (val == '1' || val == '2' || val == '3'){ System.out.println("Volymen blir " + volym); }System.out.println(""); }while (fortsatt); } } jag får detta fel meddelandet: D:My DocumentsSkolaJavaProgramomvandlareEx.java:44: variable volym might not have been initialized System.out.println("Volymen blir " + volym); Jag kan verkligen inte reda ut de, någon som är java kunnig här inne som kanske kan ? Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Landsfiskalen Postad September 5, 2006 Dela Postad September 5, 2006 Klassen Keyboard? Vart har du den? Eller ingår den kanske i java? (har inte kört de på länge nu. ;D ) System.out.print tömmer inte cachen. Använd println. Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
arnada Postad September 5, 2006 Författare Dela Postad September 5, 2006 klassen keyboard laddas, men när jag ändrar System.out.println("Volymen blir " + volym); till System.out.println("Volymen blir " + "volym"); Så går det komplimera programmet men svaren blir hela tiden (volymen blir volym) ;D Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Landsfiskalen Postad September 5, 2006 Dela Postad September 5, 2006 Ja har inte javan på datorn just nu. Men kanske. System.out.print("Volymen blir "); //ingen ny rad System.out.println(volym); Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Landsfiskalen Postad September 6, 2006 Dela Postad September 6, 2006 Hitta felet. volym hade ju bara ett värde innuti case-slingan. Nu funkar de. Du får fixa resten själv. ;D Hade ingen keyboard-class så de e de som är längst ner istället. ----------------------------------------------------------------------------------------------------------------------- import java.io.*; public class Ex{ public static void main(String[] args){ boolean fortsatt = true; double radie, längd, volym, höjd, bredd; final double PI = 3.14159; do{ System.out.println(" MENYn"); System.out.println("1. Klot"); System.out.println("2. Rätblock"); System.out.println("3. Cylinder"); System.out.println("4. Avsluta"); System.out.print("Ge ditt val: "); int val = In.läsHeltal(" "); //val = (int)val; switch(val){ case 1: //System.out.print("Ange radie: "); //Ändrade till raden under radie = In.läsInFlyttal("Ange radie:"); //så här i stället volym = 4*PI*radie*radie*radie/3; volymen(volym);//Skickar volym till volymen break; case 2: System.out.print("Ange längd: "); // Resten får du fixa längd = In.läsInFlyttal(" "); System.out.print("Ange bredd: "); bredd = In.läsInFlyttal(" "); System.out.print("Ange höjd: "); höjd = In.läsInFlyttal(" "); volym = längd*bredd*höjd; volymen(volym); break; case 3: System.out.print("Ange radie: "); radie = In.läsInFlyttal(" "); System.out.print("Ange höjd: "); höjd = In.läsInFlyttal(" "); volym = PI*radie*radie*höjd; volymen(volym); break; case 4: fortsatt = false; break; default: System.out.println("Fel"); } if (val == '1' || val == '2' || val == '3'){ volymen(10); }System.out.println(""); }while (fortsatt); } public static void volymen(double v){ System.out.println("Volymen är: "+v); } } class In{ private static BufferedReader matain=new BufferedReader(new InputStreamReader (System.in)); public static double läsInFlyttal (String p){ try{ System.out.print (p); String indata=matain.readLine(); double k=Double.valueOf(indata).doubleValue(); return k; } catch (Exception e){ throw new RuntimeException("Siffror ditt J_Fla ha ha"); } } public static int läsHeltal (String p){ try{ System.out.print (p); String indata = matain.readLine(); int k = Integer.parseInt (indata); return k; } catch (Exception e) { throw new RuntimeException("Siffror ditt J_Fla ha ha"); } } } Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
arnada Postad September 9, 2006 Författare Dela Postad September 9, 2006 fyfan landsfisken, de va hardcore kodning där ;D big ups ! 8) Vi hade själva koden i en lärobok, men den va visst fel. ganska mycke fel, dagens vuxna, jag säger bara de ;D Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Landsfiskalen Postad September 9, 2006 Dela Postad September 9, 2006 Ha ha. Ja har nästan glömt alltihopa. Första gången sen i våras ja kör java. ;D Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Recommended Posts
Delta i dialogen
Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.