2017-02-05 5 views
0

Я пытаюсь заставить Java идентифицировать треугольники от ввода, содержащегося в текстовом файле. У меня есть код для определения треугольников, когда пользователь вводит целые числа в консоль, но я хочу, чтобы он теперь читал целые числа из отдельного текстового файла. По какой-то причине я получаю ошибки, делая это, как не могу прочитать из файла. Я добавил исключение файла, но все, что он сделал, это println все три оператора if. Любая помощь будет оценена по достоинству. Я просто не думаю, что нормальные потоки при открытии файла помогли мне.Java Triangle Из текстового файла

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 class Triangle { public static void main (String [] args) { \t Вход в файл = новый файл ("input.txt"); Сканирование сканера = новый сканер (вход); // Переменные double a, b, c; System.out.println («Введите самую длинную сторону:»); a = ((сканер))) .nextDouble(); System.out.println («Введите вторую сторону:»); b = ((сканер) вход) .nextDouble(); System.out.println («Введите третью сторону:»); c = ((сканер))) .nextDouble(); – Ray2814

+0

Это то, что я делаю сейчас, и получаю [link] https://postimg.org/image/tuabqun93/ – Ray2814

+0

Он жалуется на кастинг, потому что это то, что вы делаете. (Тип) Объект будет пытаться стоить Object to Type. Чтобы сослаться на сканер, как я думаю, он хочет быть in.nextDouble() – MacStation

Смежные вопросы