带参方法定义的一般形式如下.
<访问修饰符>返回类型<方法名>(<参数列表>){
//方法的主体
}
调用带参方法与调用无参方法的语法是相同的,但是在调用带参方法时必须传入实际的参数的值.
形参是在定义方法的时候对参数的称呼,实参是在调用方法时传递给方法的实际的值.
实例1、2、3:
<span style="font-size:18px;">public class Guanli {
String []names =new String[10];
public void Name(String name){
for (int i=0;i<names.length;i++){
if(names[i]==null){
names[i]=name;
break;
}
}
}
public void showname(){
for (int a=0;a<names.length;a++){
System.out.print(names[a]+" ");
}
}
public boolean searchName(int start,int end,String name){
boolean find=false; //是否找到标识
for(int i=start-1;i<end;i++){
if(names[i].equals(name)){
find=true;
break;
}
}
return find;
}
}</span>
<span style="font-size:18px;">import java.util.*;
public class Ceshi {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Guanli a=new Guanli();
for(int i=0;i<a.names.length;i++){
System.out.print("请输入学生姓名:");
String newname=input.next();
a.Name(newname);
}
a.showname();
System.out.print("\n请输入开始查找的位置:");
int s=input.nextInt();
System.out.print("请输入结束查找的位置");
int e=input.nextInt();
System.out.print("请输入查找的姓名:");
String name=input.next();
if(a.searchName(s,e,name)){
System.out.println("找到了");
}else{
System.out.println("没找到");
}
}
}
</span>
上机1、2:
<span style="font-size:18px;">public class Ming {
String []names=new String[10];
public void addName(String name){
for(int i=0;i<names.length;i++){
if(names[i]==null){
names[i]=name;
break;
}
}
}
public void showNames(){
System.out.println("**********************************");
System.out.println("\t客户姓名列表");
System.out.println("**********************************");
for(int a=0;a<names.length;a++){
if(names[a]!=null){
System.out.print(names[a]+" ");
}
}
}
public boolean editName(String oldName,String newName){
boolean find=false;
for(int i=0;i<names.length;i++){
if(names[i]!=null){
if(names[i].equals(oldName)){
names[i]=newName;
find=true;
break;
}
}
}
return find;
}
}
</span>
<span style="font-size:18px;">import java.util.*;
public class Ceshi {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
boolean c=true;
Ming a=new Ming();
while(c){
System.out.print("请输入客户的姓名:");
String name=input.next();
a.addName(name);
System.out.print("继续输入吗?(y/n):");
String d=input.next();
if(d.equals("n")){
c=false;
}
}
a.showNames();
System.out.print("\n\n请输入要修改的客户姓名:");
String o=input.next();
System.out.print("请输入新的客户姓名:");
String n=input.next();
if(a.editName(o, n)){
System.out.println("\n*****修改结果*****");
System.out.println("找到并修改成功!");
a.showNames();
}else{
System.out.println("\n*****修改结果*****");
System.out.println("没找到并修改失败!");
}
}
}
</span>
实例4:
<span style="font-size:18px;">public class Guanli {
public int zong(int[] scores){ //求平均分
int sum=0;
for(int i=0;i<scores.length;i++){
sum+=scores[i];
}
return sum;
}
public double pingjun(int[]scores){ //求平均分
double avg=0.0;
int a=0;
for(int i=0;i<scores.length;i++){
a+=scores[i];
}
avg=(double)a/scores.length;
return avg;
}
public int zuida(int[] scores){ //求最大值
int max=scores[0];
for(int i=0;i<scores.length;i++){
if(max<scores[i]){
max=scores[i];
}
}
return max;
}
public int zuixiao(int[] scores){ //求最小值
int min=scores[0];
for(int i=0;i<scores.length;i++){
if(min>scores[i]){
min=scores[i];
}
}
return min;
}
}
</span>
<span style="font-size:18px;">import java.util.Scanner;
public class Kaishi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Guanli a = new Guanli();
int[] scores = new int[5];
System.out.println("输入五名参赛者的成绩:");
for (int i = 0; i < scores.length; i++) {
scores[i] = input.nextInt();
}
int zongfen = a.zong(scores);
System.out.println("总分:" + zongfen);
double pingjun = a.pingjun(scores);
System.out.println("平均分:" + pingjun);
int max = a.zuida(scores);
System.out.println("最高分:" + max);
int min = a.zuixiao(scores);
System.out.println("最低分" + min);
}
}
</span>