2013-05-25 3 views
-1

Итак, я кодировал эту программу палача и вначале хотел, чтобы пользователь должен был ввести «начало» для начала программы. Итак, вот что я до сих пор:Нужно руководствоваться с выражением

package hangman; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     int start; 
     System.out.print("Welcome to Hangman!"); 
     System.out.println("Type start to begin!"); 
     Scanner myScanner = new Scanner(System.in); 
     start = myScanner.nextInt(); 
     while (

     } 
    } 
} 

Итак, как вы можете видеть, я застрял на выражение в то время и не знаю, что надеть.

Я пытаюсь убедиться, что то, что пользователь вводит, равно слову «начало». Также использует оператор myScanner.next*Int*(); правильный оператор для использования? (извините, если я использую неправильный термин)

Или мне нужно заменить Int чем-то еще, так как это слово? Кроме того, в цикле while я попытался сравнить то, что пользователь набрал на слово «start» (start = "start"), но получил сообщение об ошибке incompatible operand types int and String.
Я думаю, что мне нужно создать строку для слова «start» и как-то поместить это в выражение?

Если кто-то мог просто ходить со мной через о том, как сделать выражение цикла в while убедиться, что пользователь ввел равно слово «начать», и если я должен изменить .nextInt(); заявление, которое я бы очень признателен.

+0

Положите ваше усилие на код в свой вопрос – Bohemian

+0

Извините, не понял, что вы имели в виду. Ну, так как я не знаю, что добавить в выражение while, я уже пробовал (start == "start"), так что он будет проверять, будет ли start, что пользователь вводил, равно слову " start ", но я получил" "несовместимые типы операндов int и String" ". Кроме того, я использовал myScanner.nextInt() ;, и я не уверен, что мне нужно использовать Int, поскольку слово «start» не является целым числом, так что вы знаете, что мне нужно использовать? Любая помощь приветствуется. Еще раз спасибо! – user2419553

ответ

3

Прежде всего, как вы ожидали String"start", тип этой переменной должен быть String, не int:

int start; 

должен быть

String start; 

О другой вопрос:

Использует myScanner.next*Int*(); заявление правильное заявление использовать?

No. next() это один для использования здесь - он будет возвращать набранную фишку как String.

Ставит next() в while петли так:

package hangman; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     String start; 
     System.out.print("Welcome to Hangman!"); 
     System.out.println("Type start to begin!"); 
     Scanner myScanner = new Scanner(System.in); 
     start = myScanner.next(); 
     while (!"start".equals(start)) { 
      System.out.println("You must type start to begin!"); 
      start = myScanner.next(); 
     } 
     System.out.println("Thanks for typing start!"); 
    } 
} 

В основном это будет держать на чтение маркера (start = myScanner.next();), а значение типизированного не "start" (while (!"start".equals(start)) {).

Запустите код и, надеюсь, все будет ясно.

+0

Спасибо! Я попробую и посмотрю, как это происходит. :) – user2419553

+0

Как все прошло? Вам удалось заставить его работать? – acdcjunior

+0

Да! Спасибо. – user2419553

1

Вот то, что вы ищете:

public static void main(String[] args) { 
    String start; 
    System.out.print("Welcome to Hangman!"); 
    System.out.println("Type start to begin!"); 
    Scanner myScanner = new Scanner(System.in); 
    start = myScanner.nextLine(); 
    if (start.equals("start")) { 
     System.out.println("User said 'start'"); 
    } else { 
     System.out.println("This isn't 'start' :-("); 
    } 
} 

int означает «целое», это число, что вы хотите, это String. И таким образом, вы не должны использовать nextInt(), но nextLine().

while() - это цикл, если вы просто хотите проверить выражение, вы должны использовать if().

Сравнения метод String является equals(), и вы должны использовать его, чтобы сравнить строку start (которым содержит то, что напечатал пользователь) со строкой буквального "start".

Блок кода else здесь, когда пользователь не набрал «start», а что-то еще.

+0

Спасибо, и мне нравятся смайлики! ;) – user2419553

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