2015-11-17 64 views
0

我想输出它,所以它打印如果num1,num2,num3,num4或num5 = 999,并停止扫描仪输入继续,因为它不与我的代码。希望这是有道理的,你可以帮助它将非常感激。Java if else语句有帮助吗?

package a5q4; 
import java.util.Scanner; 
/** 
* 
* @author Drew 
*/ 
public class A5Q4 { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     int num1; 
     int num2; 
     int num3; 
     int num4; 
     int num5; 

     System.out.println("Enter different numbers between 1 and 100"); 
     num1 = input.nextInt(); 
     if (num1 == 999) { 
      num2 = 0; 
      num3 = 0; 
      num4 = 0; 
      num5 = 0; 
     } 
     else { 
      num2 = input.nextInt(); 
     } 
     if (num2 == 999) { 
      num3 = 0; 
      num4 = 0; 
      num5 = 0; 
     } 
     else { 
      num3 = input.nextInt(); 
     } 
     if (num3 == 999) { 
      num4 = 0; 
      num5 = 0; 
     } 
     else { 
      num4 = input.nextInt(); 
     } 
     if (num4 == 999) { 
      num5 = 0; 
     } 
     else { 
      num5 = input.nextInt(); 
     } 
+1

好像捡999是一个奇怪的退出退出条件。另外,你能够使用'while'这样的循环来解决这个问题吗? –

+0

不是没有循环刚开始学习谢谢 – Drew

回答

2

首先,你可以声明在一行初始化多个int(S)。如果我理解你的问题,你想测试给定的num值是不是999如果它不是然后读取nextInt。您需要将您的if(s)嵌套到个人num值中。喜欢的东西,

int num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0; 

System.out.println("Enter different numbers between 1 and 100"); 
num1 = input.nextInt(); 
if (num1 != 999) { 
    num2 = input.nextInt(); 
    if (num2 != 999) { 
     num3 = input.nextInt(); 
     if (num3 != 999) { 
      num4 = input.nextInt(); 
      if (num4 != 999) { 
       num5 = input.nextInt(); 
      } 
     } 
    } 
} 

没有boolean否定(!),那就必须在嵌套else(S),

System.out.println("Enter different numbers between 1 and 100"); 
num1 = input.nextInt(); 
if (num1 == 999) { 
} else { 
    num2 = input.nextInt(); 
    if (num2 == 999) { 
    } else { 
     num3 = input.nextInt(); 
     if (num3 == 999) { 
     } else { 
      num4 = input.nextInt(); 
      if (num4 == 999) { 
      } else { 
       num5 = input.nextInt(); 
      } 
     } 
    } 
} 
+0

多数民众赞成在我的水平感谢兄弟:) – Drew