JAVA 要往数组里输入数据,并且输入的第一个数据作为数组的长度
答案:3 悬赏:10
解决时间 2021-01-05 10:41
- 提问者网友:送舟行
- 2021-01-04 21:48
JAVA 要往数组里输入数据,并且输入的第一个数据作为数组的长度
最佳答案
- 二级知识专家网友:琴狂剑也妄
- 2021-01-04 22:36
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));// 使用工具类打印数组
}
}
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));// 使用工具类打印数组
}
}
全部回答
- 1楼网友:鱼忧
- 2021-01-05 01:49
可以啊,像一些链表之类的数据结构都可以追问这些我还没学。目前只学了array。能不能只用array的知识解决追答java的数组是可以合并的
- 2楼网友:杯酒困英雄
- 2021-01-05 00:11
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
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
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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯