在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())

能否请重新格式化?并粘贴完整的错误消息。是否确实引用了真实的代码?能否请重新格式化?并粘贴完整的错误消息。是否确实引用了真实的代码?