Java 中不使用 Scanner 类获取用户输入的示例
如果你想在 Java 中获取用户输入,而不使用 Scanner 类,可以使用 BufferedReader 类。
以下是使用 BufferedReader 类获取用户输入并打印出相应数量星号的示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PrintStars {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
for (int i = 0; i < 7; i++) {
System.out.print('请输入一个1到50之间的整数: ');
int number = Integer.parseInt(reader.readLine());
// 确保输入的数值在有效范围内
if (number >= 1 && number <= 50) {
for (int j = 0; j < number; j++) {
System.out.print('*');
}
System.out.println();
} else {
System.out.println('输入的数值不在有效范围内,请重新输入。');
i--; // 无效输入,重复读取同一个值
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
System.out.println('输入的不是有效的整数,请重新输入。');
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在上述代码中,使用 BufferedReader 类读取用户输入的整数值,并通过 Integer.parseInt 方法将输入的字符串转换为整数。然后根据输入的数值,在每次输入后打印出相应数量的星号。如果输入的数值不在有效范围内,则给出错误提示,并重新读取同一个值。
请注意,需要对 IOException 和 NumberFormatException 进行异常处理,并在程序结束时关闭 BufferedReader 对象。
原文地址: https://www.cveoy.top/t/topic/cfvO 著作权归作者所有。请勿转载和采集!