对象或对象数组作为方法参数_习题
2014-04-14 11:02
316 查看
【习题】:拓展MyShopping系统,增加会员编号和会员积分,要求用带参数的方法实现。方法1:使用对象做为参数(书上范例使用该方法)
import java.util.Scanner;
/**
* @author Chieh
*/
//会员类
class Customer{
int num, jifen;
}
//会员操作类
class CustManager{
Customer[] customers = new Customer[60];//定义会员对象数组
//新增会员
public void addcst(Customer cst){ //这里接收的是单个对象
for(int i=0; i<customers.length; i++){
if(customers[i]==null){ //如customers[i]对象是空的,则将接收的对象地址赋它
customers[i] = cst;
break;
}
}
}
//显示会员信息
public void show(){
for(int i=0; i<customers.length; i++){
if(customers[i]!=null){
System.out.println("编号:"+customers[i].num+"\t积分:"+customers[i].jifen);
}
}
}
}
public class Dm{
public static void main(String[] args) {
Customer[] csts = new Customer[60];
CustManager test = new CustManager(); //实例化
Scanner input = new Scanner(System.in);
int i = 0;
String ch = " ";
boolean con = true;
do{
System.out.print("请输入会员编号:");
csts[i] = new Customer();
csts[i].num = input.nextInt();
System.out.print("请输入会员积分:");
csts[i].jifen = input.nextInt();
test.addcst(csts[i]); //每输入一次,调用新增会员方法将当前对象传递过去
System.out.print("是否继续?y/n :");
ch = input.next();
if(ch.equals("n")){
con = false;
}
i++;
}while(con);
test.show();
}
}
/*-------------------------
请输入会员编号:1111
请输入会员积分:741
是否继续?y/n :y
请输入会员编号:2222
请输入会员积分:852
是否继续?y/n :y
请输入会员编号:3333
请输入会员积分:963
是否继续?y/n :n
编号:1111 积分:741
编号:2222 积分:852
编号:3333 积分:963
-------------------------*/
方法2:自己尝试的方法,直接传递对象数组(该方法相对来说要简洁)import java.util.Scanner;
/**
* @author Chieh
*/
//会员类
class Customer{
int num, jifen;
}
//会员操作类
class CustManager{
Customer[] customers = new Customer[60];//定义会员对象数组
//新增会员
public void addcst(Customer[] csts){ //这里接收的是一个对象数组
customers = csts;
}
//显示会员信息
public void show(){
for(int i=0; i<customers.length; i++){
if(customers[i]!=null){ //若每单个会员对象的值不为空,刚输出该对象相关信息
System.out.println("编号:"+customers[i].num+"\t积分:"+customers[i].jifen);
}
}
}
}
public class Dm1{
public static void main(String[] args) {
Customer[] csts = new Customer[60];
Scanner input = new Scanner(System.in);
int i = 0;
String ch = " ";
boolean con = true;
do{
System.out.print("请输入会员编号:");
csts[i] = new Customer();
csts[i].num = input.nextInt();
System.out.print("请输入会员积分:");
csts[i].jifen = input.nextInt();
System.out.print("是否继续?y/n :");
ch = input.next();
if(ch.equals("n")){
con = false;
}
i++;
}while(con);
CustManager test = new CustManager();
test.addcst(csts); //调用添加会员的方法,将整个数组csts传递过去
test.show();
}
}
/*--------------------------
请输入会员编号:1000
请输入会员积分:120
是否继续?y/n :y
请输入会员编号:1001
请输入会员积分:169
是否继续?y/n :y
请输入会员编号:1002
请输入会员积分:230
是否继续?y/n :n
编号:1000 积分:120
编号:1001 积分:169
编号:1002 积分:230
--------------------------*/
import java.util.Scanner;
/**
* @author Chieh
*/
//会员类
class Customer{
int num, jifen;
}
//会员操作类
class CustManager{
Customer[] customers = new Customer[60];//定义会员对象数组
//新增会员
public void addcst(Customer cst){ //这里接收的是单个对象
for(int i=0; i<customers.length; i++){
if(customers[i]==null){ //如customers[i]对象是空的,则将接收的对象地址赋它
customers[i] = cst;
break;
}
}
}
//显示会员信息
public void show(){
for(int i=0; i<customers.length; i++){
if(customers[i]!=null){
System.out.println("编号:"+customers[i].num+"\t积分:"+customers[i].jifen);
}
}
}
}
public class Dm{
public static void main(String[] args) {
Customer[] csts = new Customer[60];
CustManager test = new CustManager(); //实例化
Scanner input = new Scanner(System.in);
int i = 0;
String ch = " ";
boolean con = true;
do{
System.out.print("请输入会员编号:");
csts[i] = new Customer();
csts[i].num = input.nextInt();
System.out.print("请输入会员积分:");
csts[i].jifen = input.nextInt();
test.addcst(csts[i]); //每输入一次,调用新增会员方法将当前对象传递过去
System.out.print("是否继续?y/n :");
ch = input.next();
if(ch.equals("n")){
con = false;
}
i++;
}while(con);
test.show();
}
}
/*-------------------------
请输入会员编号:1111
请输入会员积分:741
是否继续?y/n :y
请输入会员编号:2222
请输入会员积分:852
是否继续?y/n :y
请输入会员编号:3333
请输入会员积分:963
是否继续?y/n :n
编号:1111 积分:741
编号:2222 积分:852
编号:3333 积分:963
-------------------------*/
方法2:自己尝试的方法,直接传递对象数组(该方法相对来说要简洁)import java.util.Scanner;
/**
* @author Chieh
*/
//会员类
class Customer{
int num, jifen;
}
//会员操作类
class CustManager{
Customer[] customers = new Customer[60];//定义会员对象数组
//新增会员
public void addcst(Customer[] csts){ //这里接收的是一个对象数组
customers = csts;
}
//显示会员信息
public void show(){
for(int i=0; i<customers.length; i++){
if(customers[i]!=null){ //若每单个会员对象的值不为空,刚输出该对象相关信息
System.out.println("编号:"+customers[i].num+"\t积分:"+customers[i].jifen);
}
}
}
}
public class Dm1{
public static void main(String[] args) {
Customer[] csts = new Customer[60];
Scanner input = new Scanner(System.in);
int i = 0;
String ch = " ";
boolean con = true;
do{
System.out.print("请输入会员编号:");
csts[i] = new Customer();
csts[i].num = input.nextInt();
System.out.print("请输入会员积分:");
csts[i].jifen = input.nextInt();
System.out.print("是否继续?y/n :");
ch = input.next();
if(ch.equals("n")){
con = false;
}
i++;
}while(con);
CustManager test = new CustManager();
test.addcst(csts); //调用添加会员的方法,将整个数组csts传递过去
test.show();
}
}
/*--------------------------
请输入会员编号:1000
请输入会员积分:120
是否继续?y/n :y
请输入会员编号:1001
请输入会员积分:169
是否继续?y/n :y
请输入会员编号:1002
请输入会员积分:230
是否继续?y/n :n
编号:1000 积分:120
编号:1001 积分:169
编号:1002 积分:230
--------------------------*/
相关文章推荐
- 对象作为方法的参数连续传递
- Java之把String对象作为方法的参数
- 黑马程序员--对象作为方法的参数连续传递的练习
- 黑马程序员——ObjectiveC基础——对象作为方法的参数连续传递
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- StringBuilder对象作为方法的参数
- Java对象(包括集合)作为方法参数相关原理
- springMVC中使用List和Map绑定对象作为参数的使用方法
- springMVC中使用List和Map绑定对象作为参数的使用方法
- java 对象作为方法的参数传递
- 使用对象数组作为参数(对象数组类型的参数)
- 当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.
- Objective-C - 对象作为方法的参数
- 第02天OC语言(09):对象作为方法的参数连续传递下
- js拼接字符串时,字符串的事件参数需要传对象或对象数组的处理方法
- OC 对象作为方法的参数和返回值传递
- c# - 外部对象作为参数调用方法时需要注意的问题
- 第02天OC语言(08):对象作为方法的参数连续传递上
- 对象作为方法的参数连续的传递
- 类对象及类成员函数作为函数参数的方法