当前位置: 代码迷 >> J2SE >> 初次发贴,定义一个类,输入整数 赋值给数组,求和,该如何解决
  详细解决方案

初次发贴,定义一个类,输入整数 赋值给数组,求和,该如何解决

热度:93   发布时间:2016-04-24 12:20:27.0
初次发贴,定义一个类,输入整数 赋值给数组,求和
课堂作业上的问题
代码如下:
public class A {
int a[];
a=new int[]; //是不是这错了?
int ch,i,sum=0,count=0;
public A(){
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);
}

}}

问题大概处在数组的初始化上,

------解决方案--------------------
探讨
课堂作业上的问题
代码如下:
public class A {
int a[];
a=new int[]; //数组必须初始化长度
int ch,i,sum=0,count=0;
public A(){
do{System.out.print("请输入a["+count+"]");
a [count]=System.in.read();
count ++;
}whil……

------解决方案--------------------
太多错误了。返回要写返回类型,没有写void。a=new int[]; //是不是这错了?这种是只能在方法中写的,类中是声明变量和方法的。还有异常处理没用弄。数组赋值或使用前必须初始化并指定长度。学得东西可多了。
Java code
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);        }    }}
------解决方案--------------------
Java code
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("请继续输入一个整数:");
}
这个代码应该更符合你的题意
------解决方案--------------------
Java code
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};

你没有指定数组的长度
  相关解决方案