Java 为什么可以';我不能进入while循环吗? Labo21类 { 公共静态void main(字符串[]参数){ int n; int i; 双胞体; 系统输出打印(“正数:”); n=Clavier.lireInt();//键盘 如果(n
提供1或2作为Java 为什么可以';我不能进入while循环吗? Labo21类 { 公共静态void main(字符串[]参数){ int n; int i; 双胞体; 系统输出打印(“正数:”); n=Clavier.lireInt();//键盘 如果(n,java,loops,while-loop,Java,Loops,While Loop,提供1或2作为Clavier.lireInt(),您将进入循环 例如: class Labo21 { public static void main(String [] arguments){ int n; int i; double somme; System.out.print("Positive number: "); n = Clavier.lireInt(); //keyboard
Clavier.lireInt()
,您将进入循环
例如:
class Labo21
{
public static void main(String [] arguments){
int n;
int i;
double somme;
System.out.print("Positive number: ");
n = Clavier.lireInt(); //keyboard
if( n <= 0){
System.out.print("ERROR");
}else{
i = 2;
somme = 1;
while (n <= i){
somme = somme + 1.0 / i;
i = i + 1;
}
System.out.print("Result: " + somme);
}
}
}
Labo21类{
公共静态void main(字符串[]参数){
int n;
int i;
双胞体;
系统输出打印(“正数:”);
n=1;//Clavier.lireInt();//键盘
if(n根据您的if
条件,您的数字需要大于0。要进入while
循环,您的数字需要小于或等于2,因为您将i
设置为2。因此,您的选项是1
或2
话虽如此,一旦你进入while
循环,你将永远无法退出(你已经创建了一个无限循环)因为n
将始终小于i
。在每次循环迭代中,您的i
将递增1,并且n
永远不会更改,因此它将永远不会大于i
。您应该添加终止条件(以某种方式退出循环).此代码的心态有问题。但幸运的是,它没有进入循环。如果是这样,它将不停地运行,您无法理解它
因为:在您的代码中,您说while循环的条件是i应该等于或大于n。我猜Clavier.lireInt();从用户处获取值。因此,如果用户输入1,则条件为while(1)您需要使用调试器并检查n
变量是什么。它可能小于2。无论如何,这个问题与主题无关,因为您希望有人调试您的代码。您可以输入while循环。只需输入大于0且小于或等于2的值。此外,这将导致无限循环,因为n
将始终小于i
。
class Labo21 {
public static void main(String[] arguments) {
int n;
int i;
double somme;
System.out.print("Positive number: ");
n = 1; //Clavier.lireInt(); //keyboard
if (n <= 0) {
System.out.print("ERROR");
} else {
i = 2;
somme = 1;
while (n <= i) {
System.out.println("in loop");
somme = somme + 1.0 / i;
i = i + 1;
}
System.out.print("Result: " + somme);
}
}
}
while(n>=i)