2017-02-05 52 views
0

我想讓Java從包含在文本文件中的輸入中識別三角形。我有用於識別三角形的代碼,當用戶向控制檯輸入整數時,我希望它現在從單獨的文本文件中讀取整數。出於某種原因,我得到的錯誤,如不能從文件中讀取。我添加了一個文件異常,但它所做的全部三條if語句都是println。任何幫助,將不勝感激。我只是不認爲打開文件的正常線程幫助了我。來自文本文件的Java三角形

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

您應該查看鏈接重複錯誤中的所有優秀示例,然後將其應用於您的代碼。你會更多地學習。 – clearlight

+0

保持您的代碼整潔/符合尊重代碼樣式指南有助於調試,並使其他人可讀。造型和方法的一致性有助於極大地調試和提高可維護性並支持同行評審。這包括在運營商周圍放置一個空間。把代碼拼湊起來看起來真的很糟糕,你花時間看代碼和非專業代碼。另外,有時使用大括號,有時不使用if/else的聰明竅門並不總是好處。有時候,最好去複雜的所有大括號,如果stmt – clearlight

回答

0

將文本文件傳遞給掃描儀對象。將此添加到您的代碼中

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

請確保文件與項目目錄具有相同的路徑,否則您必須手動指定路徑。

+0

謝謝你試圖幫助。我添加了你所說的和Eclipse所說的,它對我不起作用。 公共類三角形{ public static void main(String [] args){ \t File input = new File(「input.txt」); 掃描儀掃描=新掃描儀(輸入); //變量 double a,b,c; System.out.println(「Enter longest side:」); a =((掃描儀)輸入).nextDouble(); System.out.println(「Enter second side:」); b =((掃描儀)輸入).nextDouble(); System.out.println(「Enter third side:」); c =((Scanner)input).nextDouble(); – Ray2814

+0

這就是我目前正在做的,並獲得[鏈接] https://postimg.org/image/tuabqun93/ – Ray2814

+0

這是抱怨鑄造,因爲這就是你在做什麼。 (Type)Object將嘗試將Object轉換爲Type。引用掃描儀我認爲它是如何in.nextDouble() – MacStation