在java中编译简单hasse算法程序时出现非法字符错误
我似乎无法理解为什么下面的代码无法编译。我为这行设置了一个错误,它是:在java中编译简单hasse算法程序时出现非法字符错误,java,Java,我似乎无法理解为什么下面的代码无法编译。我为这行设置了一个错误,它是:if((数字%2)==0){。错误消息是:“非法字符”。程序应该使用一个数字n。如果n==到1,程序停止。如果n是奇数,则新的n==(n*3)+1。如果n是偶数,则新的n==n/2 import java.util.Scanner; import java.lang.Math.*; public class HasseAlgoritme { public static void main(string [] args)
if((数字%2)==0){
。错误消息是:“非法字符”。程序应该使用一个数字n。如果n==到1,程序停止。如果n是奇数,则新的n==(n*3)+1。如果n是偶数,则新的n==n/2
import java.util.Scanner;
import java.lang.Math.*;
public class HasseAlgoritme {
public static void main(string [] args) {
Scanner tastatur = new Scanner(System.in);
System.out.print("Input the first starting number");
int number = tastatur.next();
while (number != 1) {
System.out.print(number);
if ((number % 2) == 0) {
System.out.println(number);
}
else {
number = (number*3)+1;
System.out.print(number);
}
}
}}
应该是
↓
public static void main(String[] args)
Java区分大小写
另外,number
应该是字符串,而不是int
,这不会编译(或者使用nextInt
而不是next
)
应该是
↓
public static void main(String[] args)
Java区分大小写
另外
number
应该是字符串,而不是int
,这将不会编译(或者使用nextInt
而不是next
)。使用以下命令读取整数:int number=tastatur.nextInt();
或此:
int number=integer.parseInt(tastatur.next())使用以下命令读取整数:int number=tastatur.nextInt();或
此命令:int number=integer.parseInt(tastatur.next());
如果输入一个数字,扫描仪应使用nextInt()
如果正在输入一个数字,扫描仪应使用nextInt()
另外tastatur.next();
返回String
,您可能需要使用tastatur.nextInt();
来代替tastatur.next();
返回String
,您可能需要使用tastatur.nextInt()
取而代之的是这将编译。我已关闭扫描仪。您正在运行无限while循环
导入java.util.Scanner
public class HasseAlgoritme {
public static void main(String [] args) {
Scanner tastatur = new Scanner(System.in);
System.out.print("Input the first starting number");
int number = Integer.valueOf(tastatur.next());
while (number != 1) {
System.out.print(number);
if ((number % 2) == 0) {
System.out.println(number);
}
else {
number = (number*3)+1;
System.out.print(number);
}
}
tastatur.close();
}
}
这将编译。我已经关闭了扫描仪。您正在运行无限while循环
导入java.util.Scanner
public class HasseAlgoritme {
public static void main(String [] args) {
Scanner tastatur = new Scanner(System.in);
System.out.print("Input the first starting number");
int number = Integer.valueOf(tastatur.next());
while (number != 1) {
System.out.print(number);
if ((number % 2) == 0) {
System.out.println(number);
}
else {
number = (number*3)+1;
System.out.print(number);
}
}
tastatur.close();
}
}
将Scanner.next()
更改为Scanner.nextInt()
将Scanner.next()
更改为Scanner.nextInt())
能否请重新格式化?并粘贴完整的错误消息。是否确实引用了真实的代码?能否请重新格式化?并粘贴完整的错误消息。是否确实引用了真实的代码?