意外类型Required:变量Found: Value


import java.util.*;
public class happy_number
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a number: ");
String num = in.next();
for (int i = 0; i < num.length(); i++){
double index = num.charAt(i);
(double)index = Math.pow((double)i,2);
System.out.println(index);
}
}
}

由于某种原因,For循环中的第二行返回了意外的type - required: variable found: value。了解吗?

error:错误的图像

它不会继续要求您输入。这里发生的事情是,对于某些类型的输入(在本例中为非幻数),执行在一个无限循环中执行。

例如。:让我们以示例44为例,下面将是for循环中每次迭代的值。

<表类>numnum1num2tbody><<tr>开始44--第一迭代后844第二次迭代后880第三次迭代后880…………

查看循环和填充在其中的值。没有发现断路条件,并且对幻数的正确测试:

简单代码:

public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("Enter number to check: ");
int num = in.nextInt();
int n = num;
while (n > 9) {
int sum = 0;
while (n != 0) {
int d = n % 10;
n /= 10;
sum += d;
}
n = sum;
}
if (n == 1)
System.out.println(num + " is Magic Number");
else
System.out.println(num + " is not Magic Number");
}