JAVA从键盘中输入20个整数将奇数和偶数存入不同的两个数组中 计算这两个数组中所有数据之和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA从键盘中输入20个整数将奇数和偶数存入不同的两个数组中 计算这两个数组中所有数据之和相关的知识,希望对你有一定的参考价值。
我的代码是
package study;
import java.util.*;
public class HelloWorld
public static void main(String[] args)
Scanner input=new Scanner(System.in);
System.out.println("输入20个整数");
int a[];
a=new int[20];
int b[];
b=new int[20];
for(int i=0;i<20;i++)
int x=input.nextInt();
if(x%2==0)
x=a[i];
else
x=b[i];
System.out.println("加起来一共"+(a[20]+b[20]));
但是为啥 我输入了20个数字 得出来的是
输入20个整数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20
at study.HelloWorld.main(HelloWorld.java:25)
。。 求高手解答 我究竟错哪了
。。。20改 19了。。。。但是为什么我最后答案是0。。
你数组总共是20个元素,最多只能是a[19]
20肯定会显示数组超出追问
。。为什么我答案还是0。。。 我错哪了
追答import java.util.*;public class HelloWorld
public static void main(String[] args)
Scanner input=new Scanner(System.in);
System.out.println("输入20个整数");
int a[];
a=new int[20];
int b[];
b=new int[20];
for(int i=0;i<20;i++)
int x=input.nextInt();
if(x%2==0)
a[i]=x;
else
b[i]=x;
System.out.println("加起来一共"+(a[i]+b[i]));
参考技术A System.out.println("加起来一共"+(a[20]+b[20]));
应该是这句报错了,a[20] b[20]的数组越界了,应该是a[19] b[19]追问
。。为什么我答案还是0。。。 我错哪了
参考技术B数组下标是以0开始的,,只有a[19],没有a[20]!
程序写出来的不是题目要求的。还不如用个list存储,然后把list转array
。。。为啥我答案出来是0 。。 你那个什么list 我们还没学。。。没见过。。。
追答我写的代码:
package cn.zhidao.file;/**
* @author x373241884y
* @time 2015-4-4 下午4:18:35
*/
import java.util.*;
public class HelloWorld
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("输入一行整数,以空格隔开,回车确认:");
String str = sc.nextLine();
String[] str_array = str.split(" ");
int[] array = new int[str_array.length];
for (int i = 0; i < array.length; i++)
array[i] = Integer.parseInt(str_array[i]);
List<Integer> list1 = new ArrayList();
List<Integer> list2 = new ArrayList();
int sum1 = 0;
int sum2 = 0;
for (int i = 0; i < array.length; i++)
if (array[i] % 2 == 0)
list1.add(array[i]); // 偶数
else
list2.add(array[i]); // 奇数
for (Integer temp : list1)
sum1 += temp;
System.out.println();
for (Integer temp : list2)
sum2 += temp;
System.out.println("所有偶数和:" + sum1);
System.out.println("所有奇数和:" + sum2);
System.out.println("加起来一共" + (sum1 + sum2));
以上是关于JAVA从键盘中输入20个整数将奇数和偶数存入不同的两个数组中 计算这两个数组中所有数据之和的主要内容,如果未能解决你的问题,请参考以下文章
设计一程序,通过键盘输入十个整数到数组中,找出其中最大的偶数和最大的奇数 ,,(用C++只是解答)
读入一组整数到数组中,设计一程序,找出最大偶数和最大奇数并输出