日期:2014-05-20 浏览次数:21019 次
public class C {
int[] a = new int[10];
int ch, i, sum = 0, count = 0;
public void A() throws IOException {
do {
System.out.print("请输入a[" + count + "]");
a[count] = System.in.read();
count++;
} while ((ch = System.in.read()) != '\n');
for (i = 0; i <= count; i++) {
sum += a[i];
System.out.print("数组的和=" + sum);
}
}
}
------解决方案--------------------
int a[];
a=new int[]; //是不是这错了?
//是错了。
//可以这样写
int a[]= new int[9];//初始化要写明数组的长度。
//还可以把a=new int[];放在构造方法里
public A(){
a=new int[9];
}
------解决方案--------------------
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数:");
int count;
int sum=0;
int[] a={};
while((count=sc.nextInt())!='\n'){
a=Arrays.copyOf(a, a.length+1);
a[a.length-1]=count;
sum+=count;
System.out.println("数组为:"+Arrays.toString(a));
System.out.println("和为:"+sum);
System.out.println("请继续输入一个整数:");
}
这个代码应该更符合你的题意
------解决方案--------------------
class A {
//int a[] ;
//a = new int [] ;
int [] a = new int [5] ;
int ch, i , sum = 0 ,count = 0 ;
public void A()
{
do
{
System.out.println("请输入a["+count+"]") ;
a [count] =System.in.read() ;
count ++ ;
}
while ( (ch=System.in.read() ) != '\n' );
for ( i=0 ; i<=count ; i++ )
{
sum += a[i] ;
System.out.println(" 数组的和="+sum) ;
}
}
}
------解决方案--------------------
楼主自己说得没错,定义数组的几种形式如下
int arr[10];
int arr[] = {1,2,4};
int arr[10] = {1,2};
你没有指定数组的长度