WASD Skrivet 25 December 2009 Rapport Dela Skrivet 25 December 2009 (redigerat) 1. Finns det nåt script som läser av den senaste raden i "konsolen", och sedan gör det till en String? Jag vet att man kan använda Scanner för att läsa av en rad man skriver in i konsolen, men jag vill veta hur man gör för att läsa in en rad som redan finns där. 2. Kan man radera en variabel? om jag gör "int x=5;" och sedan vill ta bort x av nån anledning. Problem: Main.java ska hämta en funktion från tuna.java, men inget händer när den kommer till tunaObject.checkcheck(r1,xxx); den bara hoppar över det steget. Det funkar om jag lägger hela funktionen i main.java men jag kommer använda den flera gånger så det blir snyggare om den ligger i en egen class. main.java package test; import java.util.Random; public class Main { public static void main(String[] args) { tuna tunaObject = new tuna (); int xxx = 4; Random rand1=new Random(); int r1 = rand1.nextInt(10); tunaObject.checkcheck(r1,xxx); } } 1. skapar en funktion från tuna.java 2. gör en int xxx = 4 3. gör ett random nummer 4. gör int r1 till ett randomnummer, 0-9 5. skickar iväg r1 och xxx till funktionen i tuna.java tuna.java package test; import java.util.Random; public class tuna { public void checkcheck(int r1, int xxx){ while(true){ if (r1 == xxx){ Random rand1=new Random(); //gör ett nytt randomnummer r1 = rand1.nextInt(10); //gör r1 till ett annat randomnummer, 0-9 } else{ break; } } } } repetera while(true) ända tills r1 inte blir samma som xxx. Säg till om det är nåt jag ska förklara tydligare. Problemet är alltså att main.java bara hoppar över tunaObject.checkcheck(r1,xxx); Redigerat 26 December 2009 av WASD Citera Länk till kommentar Dela på andra sajter More sharing options...
Vitdom Skrivet 29 December 2009 Rapport Dela Skrivet 29 December 2009 1. Scanner.nextLine() [returnerar String] är en funktion i Scanner klassen som returnerar hela nästa rad i inmatningsbufferten fram till nästa nyradstecken(returneras ej). 2. Vill du ta bort variabeln x så är det enda sätten att antingen stänga ner programmet, eller att stänga räckvidden till variabeln från programmet, t.ex: import java.util.Scanner; public class ScopeTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int choice = scan.nextInt(); { // Öppna en räckviddsnivå int x = choice % 2; // Minne allokeras för x och x initieras switch(x) { case 0: System.out.println("Zero"); break; case 1: System.out.println("One"); } } // Stäng räckviddsnivån, x försvinner ifrån programmets räckvidd och tas bort av Javas skräpinsamlare } } På den sista frågan vet jag inte, jag har aldrig använt paket. Citera Länk till kommentar Dela på andra sajter More sharing options...
WASD Skrivet 29 December 2009 Författare Rapport Dela Skrivet 29 December 2009 Ok tack för hjälpen. Hittat en halvkrånglig lösning på problemet ändå. Citera Länk till kommentar Dela på andra sajter More sharing options...
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.