2013-09-10 6 views
0

Я работаю над проблемой Java в момент создания программы, которая имитирует старое шоу викторины телевизора, Вы ставите свою жизнь. Хозяин игры, Граучо Маркс, выбирает секретное слово, а затем чаты с участниками на некоторое время. Если любой участник использует секретное слово в предложении, он или она выигрывает 100,00 долларов США.Новичок с 'nextLine'

Моя программа предназначена для проверки этого секретного слова.

Вот мой код до сих пор:

import java.util.Scanner; 

public class Groucho { 
    String secret; 

    Groucho(String secret) { 
    this.secret = secret; 
    } 

    public String saysSecret(String line) { 
    if(secret.equals(line)){ 
     return ("true"); 
    } else { 
     return ("false"); 
    } 
    } 

    public static void main(String[] args){ 
    Scanner in = new Scanner(System.in); 
    } 

} 

В основном методе мне нужно теперь создайте новый объект Groucho с secret словом из первой строки стандартного ввода (in.nextLine()).

Я не уверен, как я это делаю? Может кто-нибудь объяснить, пожалуйста! Спасибо! Miles

+0

Попробуйте http://stackoverflow.com/questions/5032356/using-scanner-nextline – newuser

+0

Сканер Подробное объяснение http://www.java-made-easy.com/java-scanner.html – newuser

ответ

1

Вы можете прочитать строку со следующим утверждением:

String line = in.nextLine(); 

Затем, если вы хотите, чтобы первое слово (к примеру), вы можете разделить линию и создать новую Граучо объект.

String split = line.split(" "); 
Groucho g = new Groucho(split[0]); 

Здесь Вы можете найти более подробную информацию о:

+0

Когда я пытаюсь это сделать говорит: не может найти символ символ: метод readLine() –

+0

См. обновленный ответ. –

+0

Вам не нужно объявлять 'split' как' String [] ', а не просто' String'? – AJMansfield

2

Посмотрите на Scanner API, и, возможно, в Java Tutorial on Objects. И это на Strings.

Изучение основ обычно более полезно, чем просто получить код кода откуда-то.

Без обид :).

+1

+1 для 'Изучение основ обычно более полезно, чем просто получить код кода откуда-то .' –

0

Вы должны создать новый объект Groucho и передать в качестве параметра параметр in.nextLine(). Это будет сделано Groucho g = new Groucho(in.nextLine());

0

Вам нужно что-то, что выглядит следующим образом:

Сканер в = новый сканер (System.in); // взять слово

Строка secretWord = in.nextLine(); // помещаем его в строку

Groucho host = new Groucho (secretWord); // создаем объект Groucho и передаем ему слово

0

in.nextLine() возьмет одну строку всего ввода, поэтому вы можете просто передать его в конструктор.

Например:

String inputWord = in.nextLine(); 
Groucho g = new Groucho(inputWord); 
0

В Scanner класса метода nextLine() принимает следующую строку ввода в качестве String.Вы можете сохранить эту строку ввода в String переменный:

String line = in.nextLine(); 

Теперь, когда у вас есть полная строка ввода, вы можете получить первое слово из него.

В предложении каждое слово отделено от других слов пробелом. В String классе метод split() можно разделить String в массив мелких строк, таких как слова в предложении, с заданным разделителем, например пробел (»«), что указывается в качестве параметра:

String[] words = line.split(" "); 

Далее вы можете выбрать секретное слово из массива, выбрав соответствующий индекс.

Для первого слова:

String chosenWord = words[1]; 

Для последнего слова:

String chosenWord = words[words.length - 1]; 

Для случайного слова:

String chosenWord = words[Math.floor(Math.random() * words.length)]; 

Теперь вы можете просто передать секретное слово, как параметр для нового конструктора Groucho:

Groucho secretWord = new Groucho(chosenWord); 

Это пошаговое описание создало новую переменную на каждом шаге. Вы можете выполнить одну и ту же задачу, объединив несколько строк кода в один оператор и избегая создания ненужных переменных.

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