永发信息网

java有参方法对象做参数

答案:3  悬赏:0  手机版
解决时间 2021-04-03 17:52
  • 提问者网友:雾里闻花香
  • 2021-04-03 01:01
java有参方法对象做参数
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-04-03 01:06
楼主我花了点心思给你写个用对象数组写的。提供你参数。

不知道你会不会吃力。。不过这个方法比较优先,希望你能看进去。
这里用到对象数组。
用到对象当参数。其他的,我就不多说了。上代码


public class Customer {
public String custNo; //会员号
public int score; //会员积分
}

import java.util.Scanner;


public class CustomerManager {
// 假设长度为10,也就是存储三个会员,长度自己设置
Customer custs[] = new Customer[3];

Scanner input=new Scanner(System.in);


public void initial() {

//循环保存十个会员信息
for (int i = 0; i < custs.length; i++) {
//创建对象来保存信息
Customer cust = new Customer();
System.out.println("请输入第"+ i +"个会员的会员号:");
//赋值
cust.custNo=input.next();
System.out.println("请输入第"+ i +"个会员的会积分:");
cust.score=input.nextInt();

//给数组赋值
custs[i]=cust;
}
}


public void show(){
for(int i=0;i if(custs[i]==null){
break;
}
System.out.println("第"+ i +"个会员的信息如下:");
//通过对象点操作属性来取值
System.out.print("会员号:"+custs[i].custNo+"\t会员积分:"+custs[i].score);
System.out.println("");
}
}

public Customer getCustByCustNo(String custNo){
Customer cust=null;
for(int i=0;i if(custs[i]==null){
break;
}
if(custs[i].custNo.equals(custNo)) {
cust=custs[i];
break;
}
}
return cust;
}
}

测试类
import java.util.Scanner;

public class Test {

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
CustomerManager manager=new CustomerManager();
//初始赋值
manager.initial();
//显示
manager.show();
System.out.println("请输入要查询的会员号:");
String custNo=input.next();

//查询
Customer cust=manager.getCustByCustNo(custNo);

if(cust!=null){
System.out.println("该会员的信息为:");
System.out.print("会员号:"+cust.custNo+"\t会员积分:"+cust.score);
}else{
System.out.println("查无此会员信息");
}
}
}
全部回答
  • 1楼网友:北城痞子
  • 2021-04-03 02:26
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test{
private String[][] data = new String[100][2];

public String getInput(){
String res = null;
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));// 键盘输入
BufferedReader bufin = new BufferedReader(stdin);
try{
res = bufin.readLine();
}catch(IOException E){
res = "";
}
return res;
}
public void inputData(){
boolean flg = true;
int i = 0;
do{
if(i > 99) break;

if(flg == true) {
System.out.println("输入用户号码:");
flg = false;
}else {
System.out.println("输入积分:");
flg = true;
}
String input = getInput();

if(("").equals(input)){
break;
}else if(flg == false){
data[i][0] = input;
}else if(flg == true){
data[i][1] = input;
i++;
}
}while(true);
}
public void printData(){
System.out.println("=======已录入用户===============");
for(int j = 0; j < 100; ++j) {
if(data[j][0] == null) break;
if(("").equals(data[j][0])) break;
System.out.println("用户号码:" + data[j][0] + " 积分:" + data[j][1] );
}
System.out.println("================================");
}
public void getData(String input){
for(int j = 0; j < 100; ++j) {
if(input.equals(data[j][0])){
System.out.println("用户号码:" + data[j][0] + " 积分:" + data[j][1] );
return;
}
}
}
public static void main(String[] args) throws InterruptedException
{
Test t1 = new Test();
do{
System.out.println("用户信息查询和录入");
System.out.println("1.用户信息录入");
System.out.println("2.显示所有用户信息");
System.out.println("3.查看用户积分");
System.out.println("other.退出");
String input;
int choose = 0;
try{
input = t1.getInput();
choose = Integer.parseInt(input);
}catch(NumberFormatException E){
choose = 0;
}
switch(choose){
case 1:
t1.inputData();//输入数据
break;
case 2:
t1.printData();//打印数据
break;
case 3:
System.out.println("输入用户号码:");
input = t1.getInput();
t1.getData(input);//查询数据
break;
default:
System.out.println("退出");
System.exit(0);
break;
}
}while(true);
}

}
  • 2楼网友:拜訪者
  • 2021-04-03 02:02
class gouzao{
int a,b;
Canvas canvas;
public gouzao(int x,int y,Canvas canvas)
{
this.a = x;
this.b = y;
this.canvas = canvas;
function(5);
}
public void function(int x)
{
System.out.println(x);
}
public static void main(String[] args){
Canvas c = new Canvas();
new gouzao(1,2,c);
}
}
这样写才是对的。 这段代码不能运行,因为没有Canvas的定义,你可以把写一个Cavnas类,就可以了。看程序,其实形参实参定义真的不重要,只是名字而已,public gouzao(int x,int y,Canvas canvas)里面的叫形参,gouzao(1,2,c);里面的叫实参,至于为什么这是取名子的人写的,用不着纠结,学编程跟学其他的不一样,最忌纠结没用的定义,但是我认为这个例子重要的是过程调用和构造函数,构造函数是new gouzao(1,2,c)这句话要调用的函数,这个函数把gouzao这个类的a,b,canvas成员变量赋值,然后调用了function,所以当你 new gouzao(1,2,c);时,会输出5.就是把5这个变量传参到function,function使用这个x(现在值为5)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯