java如何在函数中调用主函数的数组
interface getGrade{
public void finGrade();
}
class First implements getGrade{
public void finGrade(){
int sum;
for (int i=0;i<=4;i++)
{
sum=sum+a[i];
}
int num;
num=sum/5;
System.out.println("平均成绩为:"+num);
}
};
class Second implements getGrade{
public void finGrade(){
int j,k,t;
for (j=1;j<5;j++)
for (k=0;k<5-j;k++)
if (a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
a[0]=0;
a[4]=0;
int sun;
for (int i=0;i<=4;i++)
{
sun=sun+a[i];
}
int nun;
nun=sun/3;
System.out.println("平均成绩为:"+nun);
System.out.println("(去掉一个最高分和一个最低分)");
}
};
public class exer4 {
public static void main (String args[]){
System.out.println("请依次输入评委所给的分数");
System.out.println("(默认为五个评委)");
int a[] = new int [5];
Scanner reader = new Scanner(System.in);
int x = reader.nextInt();
int i;
for (i=0;i<=4;i++)
a[i]=x;
First fir=new First();
Second sec=new Second();
fir.finGrade();
sec.finGrade();
}
}
我的代码,求问如何在子函数里调用主函数里的数组,如果有什么错误请指出来,谢谢 展开
import java.util.Scanner;
interface getGrade{
public void finGrade();
}
class First implements getGrade{
int a[];
public First(){}
public First(int grade[]){
a=grade.clone();
}
public void finGrade(){
int sum;
for (int i=0;i<=4;i++)
{
sum=sum+a[i];
}
int num;
num=sum/5;
System.out.println("平均成绩为:"+num);
}
};
class Second implements getGrade{
int a[];
public Second(){}
public Second(int grade[]){
a=grade.clone();
}
public void finGrade(){
int j,k,t;
for (j=1;j<5;j++)
for (k=0;k<5-j;k++)
if (a[k]>a[k+1])
{
t=a[k];
基昌 a[k]=a[k+1];
a[k+1]=t;
}
a[0]=0;
a[4]=0;
int sun;
for (int i=0;i<=4;i++)
{
sun=sun+a[i];
}
int nun;
nun=sun/3;
System.out.println("平均成绩为:"+nun);
System.out.println("(去掉一个最高分和一个最低分)");
}
};
public class exer4 {
public static void main (String args[]){
System.out.println("请依型庆次输入评委所给卜锋握的分数");
System.out.println("(默认为五个评委)");
int a[] = new int [5];
Scanner reader = new Scanner(System.in);
int x = reader.nextInt();
int i;
for (i=0;i<=4;i++)
a[i]=x;
First fir=new First(a);
Second sec=new Second(a);
fir.finGrade();
sec.finGrade();
}
}
楼上设置全局变量是个方法,这样进行参数传递也是一种方法。
16.0
3.0
4.0
5.0
测碧誉世试代码如虚陆下:
import javax.swing.JOptionPane;
public class Test {
/悔肢**
* @zdz
*/
public static void main(String[] args) {
double aArray[]= new double[]{1,2,3,4,5};
printArray(aArray);
}
public static void printArray(double aArray[])
{
String output="";
aArray[1]=20;
//aArray[]= new double[]{1,2,3,4,5};
aArray[1]=16;
for(int i=0;i<aArray.length;i++)
{output+=String.valueOf(aArray[i])+"\n";}
JOptionPane.showMessageDialog(null,output);
}
}
public class exer4 {
李改 public static int a[] = new int [5];
public static void main (String args[]){
局丛 //跟你原来的一样,把数组声明删掉
}
桐扰樱}
别的类中:exer4.int[0]=12;类似这样使用
2015-08-12 · 知道合伙人教育行家
函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。
java中最小的功能单元就是函数。
2、函数的格式
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参2)
{
执行语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类歼基粗型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
3、函数的应用
编写代码就是不断的实现功能,java中最小的功能单元就是函数,所以我们写代码的时候,只要把功能定义在一个独立的函数中,不要把代码都放在主函数里面,主函数的功能就是调用函数,这样就提高了代码的复用。
如何定义一个函数呢?
1,:既然函数氏镇时一个独立的功能,那么该功能的运算结果是什么先明确;
2:明确在定义该功能的过程中是否需要未知的内容参与运算;
范例1 需求:计算任意一锋消个 整数乘以3+5 的结果。
1:明确功能的结果是一个整数*3+5的结果;返回值类型为int型。
2:在实现该功能的过程中没有未知内容参与运算;明确函数的参数列表(参数类型和参数的个数)。
public class FunctionDemo {
public static void main(String[] args){
int num = 3;
System.out.println(num*3+5);//输出3*3+5的结果
num = 8;
System.out.println(num*3+5);//输出8*3+5的结果
}
}
// 发现以上的运算因为获取不同数据的运算结果,代码出现了重复。
// 为了提高代码的复用性,对代码进行了抽取,将这个部分定义成一个独立的功能,方便日后使用。
// Java中对功能的定义是通过函数的形式来实现的。
// 需要定义功能,完成一个整数的*3+5的运算,并打印结果。
1,先明确函数定义的格式。
整数*3+5的返回值是个整数,返回值类型为int型。
2014-04-06