JAVA类与对象练习——对象调用编程例题之计算机与光盘

 
 

JAVA类与对象练习——对象调用编程例题之计算机与光盘

//CD.java
public class CD{
int size;
int[] content;

void setSize(int size){
this.size=size;
content=new int[size];
}

int getSize(){
return size;
}

void setContent(int[] a){
int min=Math.min(content.length,a.length);
for(int i=0;i<min;i++){
content[i]=a[i];
}
}

int[] getContent(){
return content;
}
}
//PC.java
import java.util.Scanner;
public class PC{
int[] data; 
Scanner sc=new Scanner(System.in);
CD inCD=new CD();
void putCD(CD cd){
inCD=cd;
data=new int[cd.getSize()];
}

void copyToPC(CD cd){
for(int i=0;i<data.length;i++){
data[i]=cd.content[i];
}
}

void addData(CD cd){
System.out.println("Input the data you want to add:");
int add=sc.nextInt();
for(int i=0;i<data.length;i++){
data[i]=data[i]+add;
}
}

//注意形参的问题
void copyToCD(CD cd){
int min=Math.min(data.length,cd.content.length);
for(int i=0;i<min;i++){
cd.content[i]=data[i];
}
}

/*方法二
void copyToCD(){
inCD.setContent(data);
}
*/

void showData(){
for(int x:data){
System.out.printf(x+"	");
}
}

}
//USER.java
import java.util.Scanner;
public class USER{
public static void main(String args[]){
CD cd=new CD();
PC pc=new PC();
Scanner sc=new Scanner(System.in);
int[] a=new int[]{1,2,3,4,5,6,7,8,9};
System.out.println("Input the size of CD you want to format to write in:");
int size=sc.nextInt();
cd.setSize(size);
cd.setContent(a);
System.out.println("the content of CD:");
int[] b=cd.getContent();
for(int x:b){
System.out.printf(x+"	");
}
/*错误例子:
CD cd1=new CD();
int[] b=cd1.getContent();
for(int x:b){
System.out.printf(x+"	");
}
*/
/*方法1:使用cd.getContent()方法返回CD对象cd的content的数组值并用一个数组存储起来
方法2:直接使用cd.content[i]引用具体对象cd具体content数组值
for(int x:cd.content){
System.out.printf(x+"	");
}
*/
System.out.println();
OUTER:while(true){
System.out.println();
System.out.println("Enter Your Command:\n0.EXIT;\n1.COPY CD TO PC;\n2.COPY PC TO CD;\n3.SHOW CD;\n4.SHOW PC;\n5.ADD DATA;\n");
int choice=sc.nextInt();
switch(choice){
case 0:break OUTER;
case 1:pc.putCD(cd);
       pc.copyToPC(cd);
       break;
case 2:pc.copyToCD(cd);
       //方法二 pc.copyToCD();
       break;
case 3:for(int x:cd.content){
       System.out.printf(x+"	");
       }
       break;
case 4:pc.showData();
       break;
case 5:pc.addData(cd);
       break;
default:
       break;
}
}
}
}




猜你喜欢

转载自blog.csdn.net/qq_38329988/article/details/80411960