0
点赞
收藏
分享

微信扫一扫

java 输入不知个数个数

王老师说 2023-07-23 阅读 72

Java中输入不定个数的数

在Java中,我们常常需要从用户输入中获取一系列的数值,这些数值的个数可能是不确定的。本文将介绍如何实现在Java中输入不定个数的数,并提供相应的代码示例。

1. 使用Scanner类

Java中的java.util.Scanner类提供了一种方便的方式来读取用户输入。通过使用hasNext方法来判断是否还有更多的输入,并使用next方法逐个读取输入。下面是一个简单的示例:

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入一系列整数,每个数用空格分隔,输入任意非数字字符结束:");
        while (scanner.hasNextInt()) {
            int number = scanner.nextInt();
            System.out.println("读取到整数:" + number);
        }
        
        scanner.close();
    }
}

在上面的示例中,我们使用hasNextInt方法来判断是否还有下一个整数可供读取,如果有则使用nextInt方法读取并处理。如果输入的不是整数,循环将停止。

2. 使用BufferedReader类

除了Scanner类外,还可以使用java.io.BufferedReader类来实现输入不定个数的数值。通过使用readLine方法逐行读取输入,然后将其拆分为数值数组,并进行处理。下面是一个示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class InputExample {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        
        System.out.println("请输入一系列整数,每个数用空格分隔,输入任意非数字字符结束:");
        try {
            String line = reader.readLine();
            String[] numbers = line.split(" ");
            
            for (String number : numbers) {
                try {
                    int value = Integer.parseInt(number);
                    System.out.println("读取到整数:" + value);
                } catch (NumberFormatException e) {
                    // 非数字字符,停止读取
                    break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

在上面的示例中,我们使用readLine方法读取一行输入,并使用split方法将其拆分为数值数组。然后,我们使用parseInt方法将字符串转换为整数,并进行处理。如果遇到非数字字符,循环将停止。

3. 使用命令行参数

除了从用户输入中读取,还可以通过命令行参数传递不定个数的数值。在Java中,命令行参数以字符串数组的形式传递给main方法。下面是一个示例:

public class InputExample {
    public static void main(String[] args) {
        System.out.println("读取到的整数如下:");
        for (String arg : args) {
            try {
                int number = Integer.parseInt(arg);
                System.out.println(number);
            } catch (NumberFormatException e) {
                // 非数字字符,跳过
                continue;
            }
        }
    }
}

在上面的示例中,我们遍历命令行参数数组,并使用parseInt方法将字符串转换为整数。如果遇到非数字字符,我们将其跳过。

总结

本文介绍了在Java中如何输入不定个数的数值。我们可以使用Scanner类或BufferedReader类来从用户输入中逐个读取数值,也可以使用命令行参数来传递数值。根据具体的需求和场景,选择合适的方法来实现输入不定个数的数值。

以上是关于Java输入不定个数的数值的科普文章,希望对您有所帮助。

举报

相关推荐

0 条评论