需要不兼容的类型:int-find:java.lang.String(基本编程)
我已经遇到过这个错误好几次了,我尝试了很多方法来修复它,但我似乎无法找出哪里出了问题。代码如下:需要不兼容的类型:int-find:java.lang.String(基本编程),java,types,Java,Types,我已经遇到过这个错误好几次了,我尝试了很多方法来修复它,但我似乎无法找出哪里出了问题。代码如下: import java.util.Scanner; public class InputExample { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String name1 = scan.nextLine(); String
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String name1 = scan.nextLine();
String name2 = scan.nextLine();
int num1 = scan.nextLine();
double num2 = scan.nextLine();
System.out.println("Employee Name:" + name2 + name1);
System.out.println("Age:" + num1);
System.out.println("Salary:" + (double)num2);
}
}
具体显示的错误是:
[文件:/InputExample.java行:9,列:25]需要不兼容的类型:int-found:java.lang.String
[文件:/InputExample.java行:10,列:28]需要不兼容的类型:double-found:java.lang.String
您正在读取字符串,但希望将其另存为整数/双精度。试试这个:
int num1 = Integer.valueOf(scan.nextLine());
双人也一样
或者像OldCurmudgeon提到的:
int num1 = scan.nextInt();
您正在读取字符串,但希望将其另存为整数/双精度。试试这个:
int num1 = Integer.valueOf(scan.nextLine());
双人也一样
或者像OldCurmudgeon提到的:
int num1 = scan.nextInt();
您正在读取字符串,但希望将其另存为整数/双精度。试试这个:
int num1 = Integer.valueOf(scan.nextLine());
双人也一样
或者像OldCurmudgeon提到的:
int num1 = scan.nextInt();
您正在读取字符串,但希望将其另存为整数/双精度。试试这个:
int num1 = Integer.valueOf(scan.nextLine());
双人也一样
或者像OldCurmudgeon提到的:
int num1 = scan.nextInt();
这是因为
scan.nextLine()
返回一个字符串
,您正试图将返回的字符串
分配给一个int
。您需要scan.nextInt()我想是因为scan.nextLine()
返回一个字符串
,您正试图将返回的字符串
分配给一个int
。您需要scan.nextInt()我想是因为scan.nextLine()
返回一个字符串
,您正试图将返回的字符串
分配给一个int
。您需要scan.nextInt()我想是因为scan.nextLine()
返回一个字符串
,您正试图将返回的字符串
分配给一个int
。您需要scan.nextInt()代码>我想。scan.nextInt()
可能更好。您可以在答案中更改它-这是一种公认的最佳做法,可以使您的答案尽可能地最佳。scan.nextInt()
可能更好。您可以在答案中更改它-这是一种公认的最佳做法,可以使您的答案尽可能地最佳。scan.nextInt()
可能更好。您可以在答案中更改它-这是一种公认的最佳做法,可以使您的答案尽可能地最佳。scan.nextInt()
可能更好。您可以在答案中更改它-这是一个经过深思熟虑的好做法,可以使您的答案尽可能最好。