Java求两整数距离程序提示变量未初始化该如何解决?
问题原因
你声明了a、b、dist三个局部变量,但既没有给它们赋初始值,也没有读取用户输入的数值存入变量,Java要求局部变量在被使用前必须完成初始化,所以运行时会抛出变量未初始化的错误。
修正后的代码
import java.util.Scanner; public class Distance { public static void main(String[] args) { Scanner scnr = new Scanner(System.in); System.out.println("Enter two integers:"); // 读取用户输入的两个整数,完成a、b的初始化 int a = scnr.nextInt(); int b = scnr.nextInt(); // 计算两个整数的距离(差值的绝对值),完成dist的初始化 int dist = Math.abs(a - b); System.out.println("Distance between " + a + " and " + b + " is " + dist + " units"); scnr.close(); } }
关键修改点
- 调用
Scanner的nextInt()方法读取用户输入的两个整数,分别赋值给a和b完成初始化 - 通过
Math.abs(a - b)计算两个整数的距离,赋值给dist完成初始化 - 补充了
scnr.close()语句释放IO资源
内容的提问来源于stack exchange,提问作者novice525
相关产品推荐
相关产品推荐

