Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何使while循环运行直到多次满足条件?_Java_Loops_For Loop_While Loop - Fatal编程技术网

在java中,如何使while循环运行直到多次满足条件?

在java中,如何使while循环运行直到多次满足条件?,java,loops,for-loop,while-loop,Java,Loops,For Loop,While Loop,我试图制作一个程序,用户可以输入目标以及他想要达到目标的次数。问题是我不知道如何使while循环运行多次(多次满足条件) 代码只允许我匹配目标一次,但我希望它能够在停止之前获得目标值[RequiredMatches]次 如果数字匹配,则将尝试次数减少1次 Scanner Required = new Scanner(System.in); System.out.println("Enter the number of required matches: "); int RequiredMatch

我试图制作一个程序,用户可以输入目标以及他想要达到目标的次数。问题是我不知道如何使while循环运行多次(多次满足条件)


代码只允许我匹配目标一次,但我希望它能够在停止之前获得目标值[RequiredMatches]次

如果数字匹配,则将尝试次数减少1次

Scanner Required = new Scanner(System.in);
System.out.println("Enter the number of required matches: ");
int RequiredMatches = Target.nextInt();

int Number = (int) (1 + 10 * Math.random());
int sum = 1;
if (NumberTarget > 10) { 
  System.out.println("Error"); 
} else {
    while ((Number != NumberTarget) || (RequiredMatches > 0)) { 
        System.out.println("Your number is " + Number);
        Number = (int) (1 + 10 * Math.random());
        ++sum;
        if (Number==NumberTarget) {
            RequiredMatches--;
        }
        System.out.println("You reached your target " + RequiredMatches + " times in " + sum + " tries.");
    }
}

while(RequiredMatches>0){
并在循环中调整RequiredMatches(作为旁注,您应该遵守通常的命名约定)不清楚您想要的逻辑是什么。但是,在普通英语中,驱动循环的具体条件是什么?通常您编写的代码应该非常接近代码的描述。例如,如果您希望循环在“x小于10”时继续,则生成的代码将是:
while(x<10)
作为旁白:请遵守Java编码惯例:变量和属性通常以小写字母开头。您可能还想看看。这可以消除一些强制转换。这就是您试图实现的吗?是的,@rathan,我相信是的!只是在最后一行中做了一些som更改。如果我的原始问题是不清楚。我注意到我对此有一些抱怨。我对java、语法和编程都很陌生。
Scanner Required = new Scanner(System.in);
System.out.println("Enter the number of required matches: ");
int RequiredMatches = Target.nextInt();

int Number = (int) (1 + 10 * Math.random());
int sum = 1;
if (NumberTarget > 10) { 
  System.out.println("Error"); 
} else {
    while ((Number != NumberTarget) || (RequiredMatches > 0)) { 
        System.out.println("Your number is " + Number);
        Number = (int) (1 + 10 * Math.random());
        ++sum;
        if (Number==NumberTarget) {
            RequiredMatches--;
        }
        System.out.println("You reached your target " + RequiredMatches + " times in " + sum + " tries.");
    }
}