一.分析题:
1.类中
类包括属性和方法,在该题中属性如何定义,方法体中又要实现什么功能
(1)我们要存储名字,所以属性需要一个长度为5数组
那oldName和newName又该定义在哪
(2)修改名字需要新旧名字,所以新旧名字需要定义在方法的参数列表里(oldName,newName),在主函数中传参
方法题中应该实现什么功能,有无返回值,怎么写
(3) 看题可知我们要判断修改名字是否修改成功,所以要用boolean 型来判断是否修改成功,只要不是void就需要返回值,返回true或false
在每输入一个字符时都要进行判断
把旧名字改成新名字判断是否修改成功
boolean deitName(String oldName,String newName){
for(int i=0;i<s.length;i++){
if(s[i].equalsIgnoreCase(oldName)){
s[i]=newName;
return true;
}
}
return false;
2.主函数
(1)主函数中首先需要创建对象
(2)for循环输入学生名字 for(int i=0;i<d.s.length;i++) i 应该小于 对象. 数组(类中的属性定义的数组).length
(3) 输出列表用system...完成就行
方法在什么时候用,怎么用
(4)当输入旧名字,和要修改的新名字之后我们需要来判断是否修改成功,所以在此时调用类中的方法,
用对象直接调用方法,不要写成 d.s.deitName, 属性是属性,方法是方法
因为类中定义的方法为boolean类型,所以要用一个boolean类型的值来接收方法返回的值
boolean bool=d.deitName(oldName,newName);
System.out.println("客户修改成功了吗?"+bool);
二.程序:
import java.util.Scanner;
public class Custom {
String []s=new String[5];
boolean deitName(String oldName,String newName){
for(int i=0;i<s.length;i++){
if(s[i].equalsIgnoreCase(oldName)){
s[i]=newName;
return true;
}
}
return false;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Custom d=new Custom();
for(int i=0;i<d.s.length;i++){
System.out.print("请输入客户姓名:");
d.s[i]=input.next();
}
System.out.println("\n**********************************");
System.out.println("客户姓名列表");
System.out.println("**********************************");
for (int i = 0; i < d.s.length; i++) {
System.out.print(d.s[i]+"\t");
}
System.out.println();
System.out.print("请输入要修改的客户名字:");
String oldName=input.next();
System.out.print("请输入新的的客户名字:");
String newName=input.next();
boolean bool=d.deitName(oldName,newName);
System.out.println("客户修改成功了吗?"+bool);
System.out.println("\n客户列表\n");
for (int i = 0; i < d.s.length; i++) {
System.out.println(d.s[i]+"\t");
}
}
}