比如我定义了一个数组,怎么让用户输入一个数然后产生和这个数相同个数的该数组,并把所有的元素放到另一个更大的数组中?
使用java的Scanner类,能够接受用户的输入(包括整数和字符串)。有如下用法:
1.用Scanner类封装system.in输入流;
2.用sc.hasNext()判断是否有内容,有则用sc.nextInt()取出整数。
如下代码供你学习一下:/**
* @Title: ScannerInput.java
* @Package com.dusd.coding
* @Description: TODO
* @author Administrator
* @date 2015-6-29 上午9:38:28
* @version V1.0
*/
package com.dusd.coding;
import java.util.Scanner;
public class ScannerInput {
/**
* @Title: main
* @Description: TODO
* @author dusd
* @date 2015-6-29 上午9:38:28
* @param args
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入值,以回车结束:");
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
//接受整数
int i = sc.nextInt();
System.out.println("获得整数:"+i);
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-12-07
题目不是很明白,是让用户输入一个int a,然后根据a生成一个int[] array = new int[a],就是数组的长度是a的数组,然后更大的数组是什么?
想要获得用户的输入可以是使用Scanner类
Scanner sc = new Scanner(System.in);//从命令行读取用户输入
int a = sc.nextInt();//读入一个int
int[] array = new int[a];//生成数组
不知道是不是你想要的,不对的话可以再问追问
int num = sc.nextInt(); //从用户那得到一个整数
int[] array; //小数组
int[][] bigArray = new int[num][]; //可以装num个小数组的大数组
for (int i = 0;i < num;i++) {
array = new int[5]; //生成一个小数组,以int类型为例
bigArray[i] = array; //将小数组加入大数组
}
想要获得用户的输入可以是使用Scanner类
Scanner sc = new Scanner(System.in);//从命令行读取用户输入
int a = sc.nextInt();//读入一个int
int[] array = new int[a];//生成数组
不知道是不是你想要的,不对的话可以再问追问
我的意思是我已经定义好了一个数组,然后让用户输入一个数作为产生该数组的个数,然后把所有产生的该数组元素全部放到一个大数组中,代码该怎么写啊?
追答你有定义一个小数组int array = new int[5]; -> 你要让用户输入一个数num -> 你要产生num个小数组 -> 把这num个小数组装入一个大数组bigArray中 ?
是这个意思吗.....是这样的话用多维数组就可以做把....
int num = sc.nextInt(); //从用户那得到一个整数
int[] array; //小数组
int[][] bigArray = new int[num][]; //可以装num个小数组的大数组
for (int i = 0;i < num;i++) {
array = new int[5]; //生成一个小数组,以int类型为例
bigArray[i] = array; //将小数组加入大数组
}
刚才去吃饭了,回答晚了不好意思....
我理解的还不对的话,能不能把你的一些代码加注释拿出来,给大家看看你的需求是什么.....
本回答被提问者采纳第2个回答 2013-12-07
public class Arr{
public static void main(String[] args){
String[] arr;
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入这个数组的个数");
try{
int length = sc.nextInt();
arr = new String[length];
//新数组 让arr2这个数组的长度比arr长度多10个
String[] arr2 = new String[arr.length + 10];
System.arraycopy(arr, 0, arr2, 0, arr.length);
}catch(Exception e){
System.out.println("抱歉,只能输入整数!");
}
}
}
public static void main(String[] args){
String[] arr;
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入这个数组的个数");
try{
int length = sc.nextInt();
arr = new String[length];
//新数组 让arr2这个数组的长度比arr长度多10个
String[] arr2 = new String[arr.length + 10];
System.arraycopy(arr, 0, arr2, 0, arr.length);
}catch(Exception e){
System.out.println("抱歉,只能输入整数!");
}
}
}
第3个回答 2013-12-07
想要获得用户的输入可以是使用Scanner类
Scanner sc = new Scanner(System.in);//从命令行读取用户输入
int a = sc.nextInt();//读入一个int
int[] array = new int[a];//生成数组
Scanner sc = new Scanner(System.in);//从命令行读取用户输入
int a = sc.nextInt();//读入一个int
int[] array = new int[a];//生成数组
第4个回答 2013-12-07
可以用 Scanner 不过个人觉得这个东西很容易出错
还是建议用 InputStreamReader 和BufferedReader吧
一次读一行..然后根据实际需要分析输入的东西是否合法
还是建议用 InputStreamReader 和BufferedReader吧
一次读一行..然后根据实际需要分析输入的东西是否合法