2017-02-05 6 views
0

Ich versuche Java zu bekommen, um Dreiecke aus der Eingabe in einer Textdatei zu identifizieren. Ich habe den Code zum Identifizieren von Dreiecken, wenn ein Benutzer ganze Zahlen in die Konsole eingibt, aber ich möchte, dass er jetzt die Ganzzahlen aus einer separaten Textdatei liest. Aus irgendeinem Grund bekomme ich Fehler, die das nicht aus der Datei lesen können. Ich habe eine Ausnahme für die Datei hinzugefügt, aber es wurde nur alle drei if-Anweisungen gedruckt. Jede Hilfe wäre willkommen. Ich glaube einfach nicht, dass die normalen Threads beim Öffnen einer Datei mir geholfen haben.Java-Dreieck aus der Textdatei

import java.util.Scanner; 

public class Triangle { 
    public static void main(String[] args) { 
     Scanner user = new Scanner(System.in); 
     double a, b, c; 

     System.out.println("Enter longest side: "); 
     a = user.nextDouble(); 
     System.out.println("Enter second side: "); 
     b = user.nextDouble(); 
     System.out.println("Enter third side: "); 
     c = user.nextDouble(); 

     if (a == b && b == c) { 
      System.out.println("Equilateral Triangle"); 
     } else { 
      if ((a == b && b !=c) || (a == c && a != b)) { 
       System.out.println("Isoceles Triangle"); 
      } 
      if (a != b && b != c && a != c) { 
       System.out.println("Scalene Triangle"); 
      } 
      if (((a + b) > (c)) && ((a + c) > b) && ((b + c) > a)) { 
       System.out.println("Not a Triangle"); 
      } 
     }   
    } 
} 
+0

Sie sollten alle guten Beispiele des verknüpften doppelten Fehlers betrachten und dann auf Ihren Code anwenden. Du wirst mehr auf diese Weise lernen. – clearlight

+0

Halten Sie Ihren Code sauber/konform zu einem respektierten Code-Design-Leitfaden hilft beim Debuggen und macht es für andere lesbar. Die Konsistenz von Styling und methodischem Ansatz hilft immens bei der Fehlersuche und Verbesserung der Wartbarkeit und der Unterstützung von Peer-Reviews. Dazu gehört auch, dass man sich um die Bediener kümmert. Alles zusammen zu machen sieht wirklich kitschig aus, je länger Sie programmieren und verbringen Zeit mit Pro-Code und Nicht-Pro-Code. Auch der clevere Trick, manchmal Klammern zu verwenden und manchmal nicht mit if/else, ist nicht immer ein Vorteil. Manchmal ist es einfach besser, mit allen geschweiften Klammern in einem Komplex zu gehen, wenn Sie – clearlight

Antwort

0

Übergeben Sie eine Textdatei an das Scannerobjekt. Fügen Sie diese auf Ihren Code

File input = new File("Whatever.txt"); 
Scanner scan = new Scanner(input); 

Vergewissern Sie sich die Datei im gleichen Pfad wie das Projektverzeichnis haben, sonst müssen Sie manuell den Pfad angeben.

+0

Danke, dass Sie versuchen zu helfen. Ich habe hinzugefügt, was du gesagt hast und was Eclipse gesagt hat und es funktioniert nicht für mich. öffentliche Klasse Dreieck { public static void main (Zeichenfolge [] args) { \t Dateieingabe = neue Datei ("input.txt"); Scanner Scan = neuer Scanner (Eingabe); // Variablen Doppel a, b, c; System.out.println ("Längste Seite eingeben:"); a = ((Scanner-) Eingabe) .nextDouble(); System.out.println ("Zweite Seite eingeben:"); b = ((Scanner-) Eingabe) .nextDouble(); System.out.println ("Dritte Seite eingeben:"); c = ((Scanner-) Eingabe) .nextDouble(); – Ray2814

+0

Dies ist, was ich gerade mache und bekomme [link] https://postimg.org/image/tuabqun93/ – Ray2814

+0

Es beschwert sich über Casting, weil das ist, was Sie tun. (Typ) Objekt wird versuchen, Objekt zu Typ zu berechnen. Um auf den Scanner zu verweisen, wie ich denke, ist es in.nextDouble() – MacStation