Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = a % b; while(a != 0){ a = b; b = c; c = a % b; } System.out.println(b); }怎么修改
时间: 2024-01-13 18:04:36 浏览: 27
这段代码是一个求两个数的最大公约数的算法,其中使用了辗转相除法(欧几里得算法)来计算最大公约数。但是该代码中存在可能抛出 `ArithmeticException: / by zero` 异常的情况,因为第二个输入的数可能为0。为了避免异常的出现,可以在输入第二个数之前先进行判断,如下所示:
```
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = 0;
while (b == 0) { // 循环判断,直到输入的 b 不为0
b = sc.nextInt();
}
int c = a % b;
while (a != 0) {
a = b;
b = c;
c = a % b;
}
System.out.println(b);
```
在这个修改后的代码中,我们使用了一个 `while` 循环来判断输入的第二个数是否为0,如果为0就一直等待用户重新输入,直到输入的第二个数不为0为止。这样可以保证程序不会抛出 `ArithmeticException: / by zero` 异常。
相关问题
Scanner sc=new Scanner(System.in);作用
Scanner sc=new Scanner(System.in);是Java中用于读取用户输入的类。它的作用是创建一个Scanner对象,通过该对象可以获取用户在控制台输入的数据。
使用Scanner类可以实现以下功能:
1. 读取不同类型的输入:Scanner类提供了多种方法来读取不同类型的输入,例如nextInt()用于读取整数、nextDouble()用于读取浮点数、nextLine()用于读取字符串等。
2. 处理用户输入:通过Scanner类可以获取用户在控制台输入的数据,并将其存储到相应的变量中,以便后续的处理和计算。
3. 键盘输入:Scanner类可以从键盘获取用户输入的数据,使程序能够与用户进行交互。
使用示例:
```
Scanner sc = new Scanner(System.in); // 创建Scanner对象
System.out.print("请输入一个整数:");
int num = sc.nextInt(); // 读取用户输入的整数
System.out.println("您输入的整数是:" + num);
```
Scanner sc = new Scanner(System.in);怎么使用?
Scanner类是Java中的一个输入类,用于从控制台或文件中读取输入。使用Scanner类需要先导入java.util包。以下是Scanner类的使用示例:
1. 从控制台读取字符串:
```java
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串: ");
String str = sc.nextLine();
System.out.println("输入的字符串是: " + str);
```
2. 从控制台读取整数:
```java
Scanner sc = new Scanner(System.in);
System.out.print("请输入整数: ");
int num = sc.nextInt();
System.out.println("输入的整数是: " + num);
```
3. 从控制台读取浮点数:
```java
Scanner sc = new Scanner(System.in);
System.out.print("请输入浮点数: ");
double num = sc.nextDouble();
System.out.println("输入的浮点数是: " + num);
```
4. 从控制台读取布尔值:
```java
Scanner sc = new Scanner(System.in);
System.out.print("请输入布尔值(true/false): ");
boolean b = sc.nextBoolean();
System.out.println("输入的布尔值是: " + b);
```
5. 从控制台读取字符:
```java
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符: ");
char c = sc.next().charAt(0);
System.out.println("输入的字符是: " + c);
```
以上是Scanner类的基本使用方法,可以根据需求进行适当的变化。