第十四章总结

带参方法定义的一般形式如下.

    <访问修饰符>返回类型<方法名>(<参数列表>){

    //方法的主体

    }

调用带参方法与调用无参方法的语法是相同的,但是在调用带参方法时必须传入实际的参数的值.

形参是在定义方法的时候对参数的称呼,实参是在调用方法时传递给方法的实际的值.

 

实例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>


 

内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值