定义与调用带返回值与形参的方法(注意易错点注释)

import java.util.Scanner;
//客户类
class Customer{

String[] cst = new String[]{"张三","李四","王五","赵六"};
//输出客户名:
public void printCustomer(){
System.out.println("*********************");
System.out.println(" 客户姓名列表:");
System.out.println("*********************");
for(int i=0; i<cst.length; i++)
System.out.print(cst[i]+" ");
}
//查找客户
public boolean search(String name){
for(int i=0; i<cst.length; i++){
if(cst[i].equals(name)){ //如果找到,返回true并终止循环
return true;
break; //上一句return已经将函数终止了,不会执行到该句
}
else if(i==cst.length-1){ //当对比最后一个客户还没找到,即返回false
return false;
}
}
return true; /*(编译器报错)按理说该句不必要,但逻辑上如果for循环不成立,会导致该方法无返回值。该方法可以优化下,在前面事先定义一个boolean型的变量,赋值为false。就不会出现这个问题。例如:
public boolean editName(String oldname, String newname){
public boolean result = false;//事先定义一个boolean变量
for(int i=0; i<name.length; i++){
if(name[i].equals(oldname)){
name[i] = oldname;
result = true; //找到,将返回结果改为真,否则返回默认的假
}
}
return result; */
}
}
public class Cst{
public static void main(String[] args){
Customer t = new Customer();
t.printCustomer();
System.out.print("\n请输入客户姓名进行查找:");
Scanner input = new Scanner(System.in);
String name = input.next();
if(t.search(name))
System.out.println("\n找到了!");
else
System.out.println("\n不存在!");

}
}

/*--------------------------

F:\Text>java Cst
*********************
客户姓名列表:
*********************
张三 李四 王五 赵六
请输入客户姓名进行查找:赵六

找到了!

F:\Text>java Cst
*********************
客户姓名列表:
*********************
张三 李四 王五 赵六
请输入客户姓名进行查找:钱七

不存在!

--------------------------*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值