2016-02-15 2 views
0

Я использую netbeans.Java-чтение от Standard при использовании сканера, дающего неправильные результаты

Я пытаюсь прочитать стандарт или аргументы с помощью сканера. Однако всякий раз, когда я пытаюсь что-то показать, я получаю нечто совершенно другое.

Scanner input = new Scanner(System.in); 

    System.out.println(input); 

Так, например, если заданный аргумент командной строки «Awesome!» Я хочу, чтобы он распечатал Удивительный! Но я получаю некоторые длинные тарабарщину, такие как:

java.util.Scanner [Разделители = \ р {javaWhitespace} +] [позиция = 0] [матч действует = ложь] [нужен ввод = ложь] [источник закрыт = false] [skipped = false] [разделитель групп = \,] [десятичный разделитель =.] [положительный префикс =] [отрицательный префикс = \ Q- \ E] [положительный суффикс =] [отрицательный суффикс =] [строка NaN = \ Q \ E] [бесконечность строка = \ Q∞ \ E]

+0

поэтому я попытался использовать Сканер s = новый сканер (System.in); Строковый вход = s.nextLin(); System.out.println (вход); И все равно не распечатает аргумент командной строки – GreatShark

+0

Хорошо, во всяком случае, я использовал командную строку для компиляции и запуска вместо IDE, например Net Beans. Не знаю, почему Net Beans дает мне странный ответ. – GreatShark

ответ

0

Вот код, который вы должны использовать:

import java.util.Scanner; 

public class InputTesting { 

    public static void main(String[] args) { 
     Scanner input = new Scanner (System.in); 
     String str1; 
     System.out.println("Input string: "); 
     str1 = input.next(); 
     System.out.println(str1); 
    } 
} 
+0

.nextString существует? – GreatShark

1

Здесь Scanner это имя класса, a - это имя объекта, ключевое слово new используется для выделения памяти, а System.in - это входной поток. Вы можете использовать следующие методы класса Scanner (для случая его строки):

  1. nextInt ввести целое число
  2. nextFloat для ввода поплавок
  3. nextLine для ввода строки

    public static void main(String[] args) { 
    
        Scanner in = new Scanner(System.in); 
        String user_value = in.nextLine();   
        System.out.println(user_value); 
    } 
    
+0

Я пытаюсь сделать это в net beans с аргументами командной строки и ничего не печатается? – GreatShark

+0

@GreatShark - просто скопируйте код выше и вставьте внутри основного метода. (Вы должны импортировать 'java.util.Scanner;'). Затем запустите его и введите что-то в консоли и нажмите enter. -Это должно работать! –