2014-12-08 4 views
0

Мне нужна помощь, где я могу вручную добавить номера ввода в скрипт. Если вы видите, что a = 273 и b = 108, я бы хотел, чтобы это напечатало фактически GCD, но на самом деле я не получаю правильный ввод. Я делаю что-то простое, но оно все еще не работает. Также это было бы в абсолютном выражении, то есть, если бы я поставил отрицательную волю, это сделало бы ее положительной.GCD номер ввода

Редактировать: Я не пытаюсь использовать класс сканера.

public class Divisor 
{ 
    private static int a; 
    private static int b; 
    { 
    a= 273; 
    b=108; 
    } 
    private static int returnNumber(int a, int b) { 
     if (b == 0) { 
      return a; 
     } 
     return returnNumber(b, a % b); 
    } 

    public static void main(String[] args) { 

     System.out.println(returnNumber(a, b)); 
    } 
} 
+0

почему не использовать класс сканера? https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html –

+0

Другим вариантом могут быть аргументы командной строки: https://docs.oracle.com/javase/tutorial/essential/ environment/cmdLineArgs.html –

+0

Проделайте несколько простых исследований. –

ответ

2

Вы можете использовать Scanner из java.util, например

Scanner scanner = new Scanner(System.in); 
    int a = scanner.nextInt(); 
    int b = scanner.nextInt(); 
    System.out.println(a + " " + b); 

Или BufferedReader из java.io:

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    int a = Integer.parseInt(reader.readLine()); 
    int b = Integer.parseInt(reader.readLine()); 
    System.out.println(a + " " + b); 

Предыдущий фрагмент кода предполагает, каждое число в отдельной строке.

BTW, это хорошая идея, чтобы поставить эти строки внутри блока try-catch с IOException.

EDIT: Как @musical_coder говоря, вы можете также использовать аргументы командной строки, вот пример:

int a = Integer.parseInt(args[0]); 
    int b = Integer.parseInt(args[1]); 
    System.out.println(a + " " + b); 

В этом случае вы должны запустить вы программируете с:

$ java Divisor <first number> <second number> 
+0

Я бы не использовал класс сканера, извините, если он запутан. –

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

  • Нет связанных вопросов^_^