2016-04-26 16 views
1

Ich habe dieses Problem muss ich in den nächsten 8 Stunden aufzulösen (max), ich lese viele Beiträge mit ähnlichen Problemen, aber sie rufen immer um close() zu entfernen. Ich habe es nicht und mein Problem existiert noch.Ausnahme im Thread "Haupt" java.util.NoSuchElementException - nein schließen()

package Kolokwium; 
import java.io.*; 
import java.util.Scanner; 

public class Group{ 
    int availableseats; 
    int occupiedseats= 0; 

    public Group() { 
     try (
       PrintWriter writer = new PrintWriter("C:\\Users\\Galaxis\\Desktop\\lesson_name.txt"); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
      ) { 
       System.out.println("Lesson name: "); 
       String lesson_nameu = reader.readLine(); 
       System.out.println("Available seats:"); 
       String seats= reader.readLine(); 
       writer.println(lesson_name + " " + seats); 
       availableseats= Integer.parseInt(seats); 
     } 
     catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

    public void add_student() { 
     if (occupiedseats < availableseats) { 
      try (
       PrintWriter writer = new PrintWriter("C:\\Users\\Galaxis\\Desktop\\lesson_name.txt"); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
      ) { 
       System.out.println("Write student's data: "); 
       String data = reader.readLine(); 
       occupiedseats += 1; 
       writer.println(data); 
      } 
      catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } else { 
      System.out.println("No available seats!"); 
     } 
    } 

    public void show_list() { 
     File path = new File("C:\\Users\\Galaxis\\Desktop\\lesson_name.txt"); 
     String[] list; 
     list = path.list(); 
     for (int i=0; i < list.length; i++) 
     System.out.println(list[i]); 
    } 

    public static void main(String[] args) { 

     Group group = new Group(); 
     Scanner in = new Scanner(System.in); 
     System.out.println("MENU " + "1. Add student. " + "2. Show list. "); 
     int ichoice = in.nextInt(); 

     if(ichoice == 1) { 
      group.add_student(); 
     } 
     else if(ichoice == 2) { 
      group.show_list(); 
     } 
     else {System.out.println("Wrong choice!");} 
    } 
} 

Eklipse geben Sie mir diese Meldung, wenn es darum geht, "int ichoice = in.nextInt();"

Exception in thread "main" java.util.NoSuchElementException 
    at java.util.Scanner.throwFor(Unknown Source) 
    at java.util.Scanner.next(Unknown Source) 
    at java.util.Scanner.nextInt(Unknown Source) 
    at java.util.Scanner.nextInt(Unknown Source) 
    at Kolokwium.Grupa.main(Grupa.java:76) 
+1

Können Sie bitte alle Variablen und Methodennamen auf Englisch übersetzen? Der Code ist so fast nicht lesbar. Selbst wenn Sie kein Muttersprachler sind, ist es eine gute Branchenpraxis, nur auf Englisch zu programmieren. –

+0

Ein paar Dinge, die Ihnen helfen werden, eine Antwort zu bekommen: 1) Ihren Code richtig einrücken, es ist schwer zu lesen, wie es ist, 2) Es würde wirklich helfen, wenn Sie genau angeben, wo die Ausnahme von – tddmonkey

+1

geworfen wird, sehe ich nicht Warum würde eine 'NoSuchElementException' irgendeine Assoziation mit einer' close() 'Methode haben? In jedem Fall wäre der Stack-Trace für Ihre Ausnahme ziemlich informativ über das Problem. –

Antwort

3
public void pokaz_liste() { 
     File path = new File("C:\\Users\\Galaxis\\Desktop\\nazwa_przedmiotu.txt"); 
     String[] list; 
     list = path.list(); 
     for (int i=0; i < list.length; i++) 
     System.out.println(list[i]); 
    } 

Sie versuchen, eine Liste von Dateien aus einer Datei zu erhalten. Javadoc gibt an, dass die Dateiinstanz null zurückgibt, wenn die Dateiinstanz nicht auf ein Verzeichnis verweist.

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#list()

Und für Ihre Ströme Gottes willen, bündig und schließen!

Für Ihre Ausnahme: Der Scanner ist erschöpft. Versuchen Sie diese

public Group() { 
     try (
       PrintWriter writer = new PrintWriter("C:\\Users\\Galaxis\\Desktop\\lesson_name.txt"); 
      ) { 
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
       System.out.println("Lesson name: "); 
       String lesson_nameu = reader.readLine(); 
       System.out.println("Available seats:"); 
       String seats= reader.readLine(); 
       writer.println(lesson_name + " " + seats); 
       seats2 = Integer.parseInt(seats); 
     } 
     catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
+0

Es ist nicht das Problem, auch wenn ich pokaz_liste aus dem Programm lösche, zeigt es mir das gleiche Problem. Ich habe vergessen, genau zu schreiben, was Eclipse-sagen Sie mir: Exception in thread "main" java.util.NoSuchElementException \t bei java.util.Scanner.throwFor (Unknown Source) \t bei java.util.Scanner.next (Unbekannt Source) \t bei java.util.Scanner.nextInt (Unknown Source) \t bei java.util.Scanner.nextInt (Unknown Source) \t bei Kolokwium.Grupa.main (Grupa.java:76) – Galaxis

+0

@Galaxis veröffentlichen die stacktrace bitte – Nadir

+0

@Galaxis hat den Post für den StackTrace aktualisiert – Nadir

Verwandte Themen