2015-02-06 4 views
-7

Мы должны создать программу в java, которая похожа на викторину, но мое заявление else сохраняет правильное значение для каждого предоставленного ответа. Вот что у меня есть.Операция if if else не работает должным образом

import java.util.Scanner; 
public class Project03 { 

    public static void main(String[] args) { 

     Scanner keyboard = new Scanner(System.in); 

     System.out.println("Enter your name:"); 
     String name = keyboard.nextLine(); 
     System.out.println("Welcome:" + name); 
     System.out.println("Please answer the following questions:\n" + "What is 4 + 6 \n"); 
     keyboard.nextLine(); 

     int x = 10; 

     if (x == 10){ 
      System.out.println("Correct!"); 
     }else{ 
      System.out.println("Incorrect!");  
     }  
    } 
} 
+7

С 'int x = 10;', что вы сделали expcet? – MadProgrammer

+1

Это шутка, не так ли? –

+0

Такие унизительные ответы. В прошлый раз, когда я использую этот сайт, мне жаль, что я не полноценный программист, с которым вам нужно начинать, и, очевидно, это не сайт для него, когда я получаю саркастические ответы со стороны программистов. Спасибо хоть. – Winterone

ответ

7

Вы не храните ответ пользователя в любом месте.

keyboard.nextLine(); 
int x = 10; 

должно быть что-то вроде

int x = keyboard.nextInt(); 

или может быть что-то вроде

int x = Integer.parseInt(keyboard.nextLine()); 
+0

Я верю, что Java бросит предупреждение, но не ошибку, в таком случае, как этот вопрос. И если автор не знал, чтобы изучить предупреждения, а также ошибки, они могут легко пропустить его. – GlenH7

+1

@ GlenH7 Предупреждает, если вы используете 'final int x = 10;' (не только с 'int x = 10;', что не так удивительно, как я изначально думал). –

4

Ваш код говорит

int x = 10; 

if (x == 10){ ... 

Вы проверяете, чтобы увидеть, если х равен 10 сразу после того, значение x равно 10.

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