中易网

JAVA 要往数组里输入数据,并且输入的第一个数据作为数组的长度

答案:3  悬赏:10  
解决时间 2021-01-05 10:41
JAVA 要往数组里输入数据,并且输入的第一个数据作为数组的长度
最佳答案
package com.oceanlive.demo;

import java.util.Arrays;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);// 定义输入流
        System.out.println("请输入要建立的数组的长度:");
        int length = sc.nextInt();// 输入数据长度的值
        System.out.println("请输入要输入的数字:");
        int array[] = new int[length];// 定义指定长度的数组
        for (int i = 0; i < array.length; i++) {// 初始化数组
            array[i] = sc.nextInt();
        }
        System.out.println(Arrays.toString(array));// 使用工具类打印数组
    }
}追问作业里的要求是不能有单独输入长度的那一栏出现。就是直接输入一整个数组然后第一个数字作为长度追答package com.oceanlive.demo;

import java.util.Arrays;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);// 定义输入流
        System.out.println("请输入数组的元素");
        int length = sc.nextInt();// 输入数据长度的值
        int array[] = new int[length];// 定义指定长度的数组
        array[0] = length;//把长度作为第一个元素
        for (int i = 1; i < array.length; i++) {// 初始化数组
            array[i] = sc.nextInt();
        }
        System.out.println(Arrays.toString(array));// 使用工具类打印数组
    }
}
全部回答
可以啊,像一些链表之类的数据结构都可以追问这些我还没学。目前只学了array。能不能只用array的知识解决追答java的数组是可以合并的
System.out.println("请输入数字作为数组长度:");
int length = 0;
int[]data = null;
while(true){
try{
String a = new Scanner(System.in).next();
length = Integer.parseInt(a);
data = new int[length];
System.out.println("数组初始化成功,请输入数字:");
break;
}catch(NumberFormatException e){
System.out.println("输入错误,重新输入");
continue;
}
}
for(int i=0;i while(true){
try{
String input = new Scanner(System.in).next();
int dataTemp = Integer.parseInt(input);
data[i] = dataTemp;
break;
}catch(NumberFormatException w){
System.out.println("输入错误,重新输入");
continue;
}
}
}
System.out.println("已经不能在输入了,数组数据个数达到数组长度");
System.out.println("你所输入的数据:");
for(int t:data){
System.out.print(t+" ");
}追问能不能不单独输入一个长度 直接 选取输入数组里第一个数字作为长度。追答System.out.println("请输入一串数字,注意以空格等非数字隔开:");
while(true){
try{
String input = new Scanner(System.in).nextLine();
Scanner scanner = new Scanner(input);
scanner.useDelimiter("[^\\d]+");
int[]data = null;
boolean isFirst = true;
int index = 0 ;
while(scanner.hasNext()){
int temp = scanner.nextInt();
if(isFirst){
data = new int[temp];
isFirst = false;
}else{
data[index++] = temp;
}
}
for(int t:data){
System.out.print(t+" ");
}
scanner.close();
break;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("你想装入的数据个数已大于数组长度!请重新弄了。");
continue;
}
}
测试:
请输入一串数字,注意以空格等非数字隔开:
3 12 12 12 12
你想装入的数据个数已大于数组长度!请重新弄了。
4 12 1212 1
12 1212 1 0
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
=十六个英文字母正确读法
1.5的钢板用多大的焊条
Lolita中流团是什么意思
苹果4不想升级为iOS7.0.3怎么办?
主板ID?
軋絃的意思是什么?軋絃的释义是什么啊?
王师傅用96分米长的细木条做一个正方体框架,
如何在行列间同时冻结窗口?EXCEL?
请问图中这个读卡器的左侧有个小按钮边上还写
九年级语文作文650字,渴望重见那份温情,求
我叫董瑛琪 关于这个名字怎么介绍
段誉最后做了皇帝?
阜新红茶馆的网址是什么
古冶公交游2路都有几点的?
小篆 恩字的造字缘由,上下两部分各是什么意
推荐资讯
樟子松与红松相比哪种好
“天下之难作于易,天下之大作于细”.这名言
女主叫童千歌男主叫邢烈枭的小说叫什么
宋书中的江南的指哪一地区
受精卵著床后要几天才会有反应
请服装翻译大神指点 关于杢グレー トップ染め
个人简历怎么写。求跪。速度
独眼枭为什么要杀店长
有没有和我一样的前台,我是一个培训学校前台
做葱油饼用 高筋面粉 还是 低筋面粉啊???
125除以5+35乘以八最简便的方法是什么
为什么有些程序员要回来当老师
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?