首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java根据输入灵活调整数组大小

java根据输入灵活调整数组大小
EN

Stack Overflow用户
提问于 2018-12-06 08:07:40
回答 1查看 148关注 0票数 0

所以我想知道是否有可能初始化一个没有单元格的数组,然后按照用户的意愿继续添加单元格。

例如:

代码语言:javascript
复制
boolean exit = false;
int count = 0;
double [] array = new double [99999];


 try{
   while(!exit){
   System.out.println("please type in the values you wish to compose this array with. (flag: any value other than a double)");
     Scanner read = new Scanner(System.in);
     double x = read.nextDouble();
        array[count] = x;
        count++;}}
         catch(Exception e){System.out.println("end of reading");}  

在这个例子中,我想去掉一个非常大的数组,以便能够很好地适应用户可能具有的输入大小。换句话说,我希望有一个数组,一开始它没有单元格,然后只要用户继续键入有效值,就会添加单元格。

谁来帮帮忙?

EN

回答 1

Stack Overflow用户

发布于 2018-12-06 08:24:32

您可以使用一个字符串,然后创建一次双精度数组:

代码语言:javascript
复制
import java.util.Scanner;

public class App {

    public static void main(String[] args) {

        Scanner scnr = new Scanner(System.in);
        String nextEntry;

        System.out.println("Enter double values (0 to quit)");

        StringBuilder sb = new StringBuilder();

        while (!(nextEntry = scnr.next()).equals("0")) {
            sb.append(nextEntry).append(":");
        }

        String[] stringValues = sb.toString().split(":");

        double[] doubleValues = new double[stringValues.length];

        for (int i = 0; i < stringValues.length; i++) {
            doubleValues[i] = Double.valueOf(stringValues[i]);
        }

        for (int i = 0; i < doubleValues.length; i++) {
            System.out.println(doubleValues[i]);
        }

        scnr.close();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53642698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档