import java.util.Scanner;
public class Question1_4{
public static void main(String a[]){
int i;
double j;
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
b=sc.nextInt();
System.out.println("a="+i);
System.out.println("b="+j);
System.out.println("The result is OK!");
}
}
第一次写,指点一下哪里错了
不需要获取输入,定义a和b后,再赋值,再打印其值即可。
修改如下:
import java.util.Scanner;
public class Question1_4{
public static void main(String [] args){
// 不需要从输入获取值,直接定义变量a,b,赋值后直接打印即可
int a=100;
double b=0.5;
// 如果一定要从输入获取值,去除上面两行代码,使用下面的代码从输入获取值
// Scanner sc=new Scanner(System.in);
// int a=sc.nextInt();
// double b=sc.nextDouble();
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("The result is OK!");
}
}
在给变量赋值时,你使用了不合适的变量名。
你声明了变量int i; double j;,并尝试使用a和b来接受输入的值,但是实际上你应该使用i和j来接受输入的值。
所以在下面的代码中,你需要将a和b替换为i和j
i = sc.nextInt();
j = sc.nextInt();
1、 入参 a 不能这么用
2、产量 b 没有定义
可参考下面的代码:
public class ScannerDemo {
public static void main(String[] args) {
int a = 0;
double b = 0.00D;
Scanner scanner = new Scanner(System.in);
a = scanner.nextInt();
b = scanner.nextDouble();
System.out.println("a=" + a);
System.out.println("b=" + b);
System.out.println("The result is OK!");
}
}
【以下回答由 GPT 生成】
问题的根本错误是:在声明变量a和b之前,没有指定它们的类型;而在接收用户输入时,将值赋给了错误的变量a和b。
以下是修改后的代码:
import java.util.Scanner;
public class Question1_4{
public static void main(String a[]){
int i;
int j; // 声明变量j的类型为int
Scanner sc=new Scanner(System.in);
i=sc.nextInt(); // 将输入值赋给变量i
j=sc.nextInt(); // 将输入值赋给变量j
System.out.println("a="+i);
System.out.println("b="+j);
System.out.println("The result is OK!");
}
}
修改的部分如下:
j
的类型由double
改为int
,因为输入的是整数。i
和j
。这样就修正了代码中的错误。现在编译并运行该程序,它将按照预期输出变量i
和j
的值,并输出"The result is OK!"。
【相关推荐】