如果你想在 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 对象。

Java 中不使用 Scanner 类获取用户输入的示例

原文地址: https://www.cveoy.top/t/topic/cfvO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录