要求:
编写一个完整的Java程序,接收从键盘输入的10个整数,并输出其中的最大值及平均值。要求:将计算功能定义在一个类中,由主类接收输入,再用数组的方式传递给实现计算的类的方法,再输出结果。
起初,我忽略了题目要求的编写两个类,写成了一个类并在类中编写方法
package ikun;
import java.util.Scanner;
public class ikun {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int []arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
System.out.println(max(arr));
System.out.println(sum(arr));
}
public static int max(int []arr){
int maxArr = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] > arr[0]){
maxArr = arr[i];
}
}
return maxArr;
}
public static double sum(int []arr){
double sum = 0;
double avg = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
avg = sum / arr.length;
return avg;
}
}
注意method需要用abstract修饰
再次审题后,
我编写了两个类来实现题目:
package ikun;
public class complete {
private int a[]=new int[10];
public complete(int aa[]){
for(int i=0;i<aa.length;i++){
a[i]=aa[i];
}
}
public int max(){
int max1=a[0];
for(int i=0;i<a.length;i++)
if(max1<a[i])
max1=a[i];
return max1;
}
public double avage(){
double ave=0;
for(int i=0;i<a.length;i++)
ave+=a[i];
ave/=a.length;
return ave;
}
}
import java.util.Scanner;
public class test {
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int a[]=new int[10];
for(int i=0;i<a.length ;i++){
a[i]=input.nextInt();
}
complete c=new complete(a);
System.out.println("平均值为"+c.avage());
System.out.println("最大值为"+c.max());
}
注意:
1.private int a[]=new int[10]; 在新类中首先要创建对象(private修饰)
2.public complete(int aa[]){
for(int i=0;i<aa.length;i++){
a[i]=aa[i];} 将主类中输入的数组传入到complete类
}
3.注意方法写法 public double avage(){ return .....; }