java 怎么用Scanner输入两个数组!!!求人指点!!!!!

我想输入两个数组,我写了的code是这样的Scannerinput=newScanner(System.in);Scannerinput1=newScanner(Syst... 我想输入两个数组,我写了的code是这样的
Scanner input = new Scanner(System.in);
Scanner input1 = new Scanner(System.in);
int[] a = new int[50];
int[] b = new int[50];
int[] c;

int i =0;
System.out.print("a:");
while (i<a.length && input.hasNextInt())
{

a[i] = input.nextInt();
System.out.print(a[i] + " ");
i++;

}

System.out.print("\nb:");
while (i<b.length && input1.hasMoreInt())
{

b[i] = input1.nextInt();
System.out.print(b[1] + " " + b[2] );
i++;
但是这样不对,我的b1 b2 b3出来的都是0,我就莫名了,有哪位人可以指点下啊
展开
 我来答
jg...7@163.com
推荐于2017-11-24 · TA获得超过287个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:205万
展开全部
改成这样试试。有两个问题:1、为什么要用两个键盘输入流input 、input1 ?其实完全用一个键盘输入流就能搞定。虽然你声明了两个键盘输入流,但实际上它们监听的是来自同一个地方的输入。
2、在对a数组完赋值后,i已经变成了50,所以 再对b数组赋值时,这个while (i<b.length && input.hasNextInt())循环,根本就不会进去,b数组根本就不会被赋值。
Scanner input = new Scanner(System.in);
// Scanner input1 = new Scanner(System.in);
int[] a = new int[50];
int[] b = new int[50];

int i =0;
System.out.print("a:");
while (i<a.length && input.hasNextInt())
{
a[i] = input.nextInt();
System.out.print(a[i] + " ");
i++;
}

System.out.print("\nb:");
i = 0;
while (i<b.length && input.hasNextInt())
{
b[i] = input.nextInt();
i++;
}
System.out.print(b[1] + " " + b[2] );
}
追问
对,是i = 0这个问题,我想再问一个问题,如果我有个int c[],我想要这个c的长度是a+b的长度,我写的是这样的
lenA = a.length;

lenB = b.length;
int[] c = new int[lenA + lenB];
这样出来c就变成100个元素了,因为我写了int[] a= new int[50]
int [] b= new int[50]
我想要的是我输入的个数的综合,不是这个最大限制的综合该怎么办
追答
Scanner input = new Scanner(System.in);
Scanner input1 = new Scanner(System.in);
System.out.println(input.equals(input1));
int[] a = new int[3];
int[] b = new int[3];

int i =0;
int leng=0;
System.out.print("a:");
while (i<a.length && input.hasNextInt())
{
a[i] = input.nextInt();
System.out.print(a[i] + " ");
i++;
}
leng = i;
System.out.print("b:");
i = 0;
while (i<b.length && input1.hasNextInt())
{
b[i] = input1.nextInt();
i++;
}
leng += i; //此时leng的值便是c数组的长度
System.out.print(b[1] + " " + b[2] );
百度网友56c1907
2011-04-18 · 超过23用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:49.4万
展开全部
int i =0;
System.out.print("a:");
while (i<a.length && input.hasNextInt())
{

a[i] = input.nextInt();
System.out.print(a[i] + " ");
i++;

}
你的变量i 在这里要重新初始化为0.。不然前面输入4次到a[4]那么后面是从b[4]开始输入数据的
自然b[1] b[2] b[3]都是0了。。

System.out.print("\nb:");
while (i<b.length && input1.hasMoreInt())
{

b[i] = input1.nextInt();
System.out.print(b[1] + " " + b[2] );
i++;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友38cb4ea
2011-04-18 · 超过74用户采纳过TA的回答
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:209万
展开全部
把你的完整代码站出来
看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式