第一段代码
public class CustomerBiz {
String[] names=new String[30]; //创建学生姓名数组
//实现姓名的添加
public void addName(String name){
for(int i=0;i<names.length;i++){
if(names[i]==null){
names[i]=name;
break;
}
}
}
public void showName(){ //显示姓名
for(int i=0;i<names.length;i++){
if(names[i]!=null){
System.out.print(names[i]+" ");
}
}
}
}
第二段代码
import java.util.Scanner;
public class TestCustomer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CustomerBiz n=new CustomerBiz(); //创建对象n,用于调用CustomerBiz
Scanner input=new Scanner(System.in);
boolean con=true; //定义con标志下一段程序是否继续运行
while(con){
System.out.println("请输入客户的姓名:");
String name=input.next();
n.addName(name);
System.out.println("继续输入吗?(y/n):");
String choice=input.next();
if(choice.equals("n")){
con=false;
break;
}
}
System.out.println("*****************************");
System.out.println("\t\t姓名列表:");
System.out.println("*****************************");
n.showName();
}
}
我对第一段代码的addName对方法对String name的调用不理解(究竟调用的是谁呢),而且是非常的不理解啊;对addName方法的for循环里的if的条件,和它的代码都不太理解,总之就是对这一方法不理解,为什么要那样用;对TestCustomer类里的布尔的用法不太懂,在结尾的if语句中为什么要将false赋值给con?不赋值不是也可以的吗.谢谢你的帮助,希望能够详细些好吗,我对java不太理解,谢谢
你这样理解,开始不是有定义String[] names=new String[30];就是为了买东西提前做了30个袋子,然后就是那个addName方法,它主要用于使用这30个袋子,然而具体操作就在for 和 if语句中执行,for主要起到迭代的左右,现在面前有一大堆苹果,我用第一个袋子装,然后装满了怎么办,我们人类的行为就是换个袋子再去装,但是放在电脑中电脑会怎么处理,他会通过i++这个参数的累加来达到人们换袋子的行为,if主要是一个检验的操作,就是不能重复给装满苹果的袋子里继续装苹果
TestCustomer中的boolean con=true 这个你去参考下while循环那节类容,if 为什么将false赋值给con,这步必须得写,不然成了死循环了,你还是去参考while 那块的知识
如果有不懂加这个群:43530068
public void addName(String name)里面的String name相当于声明了一个name变量,目的是if语句的应用,if语句是判断的这样一个问题:首先我们声明了一个30的数组,在使用的过程中。【if(names[i]==null)判断names数组的长度是否还有剩余即,在使用中可能需要第31个空间】那么,第三十一个就是name,就将name的值添加到names的数组里。
至于TestCustomer中的boolean con=true 我想应该是为了标志下一程序的运行,而至于,if 为什么将false赋值给con则是为了代码的规范,既然有了else那么他也就一定是fale了,或者是为了以后写代码还能够运用到的con,所以做得准备