java中我要返回2个值得问题如下:

packagevance;importjava.util.Scanner;publicclassInput{publicStudentinfoInput(){Scanne... package vance;

import java.util.Scanner;

public class Input {

public Student infoInput(){

Scanner scan = new Scanner(System.in);

Student s = new Student();

System.out.println("请输入第一个学生的ID:");

s.setId(scan.nextInt());

System.out.println("请输入第一个学生的名字:");

s.setName(scan.next());

System.out.println("请输入第一个学生的年龄:");

s.setAge(scan.nextInt());

Scanner scan2 = new Scanner(System.in);

Student s2 = new Student();

System.out.println("请输入第二学生的ID:");

s2.setId2(scan2.nextInt());

System.out.println("请输入第二学生的名字:");

s2.setName2(scan2.next());

System.out.println("请输入第二的年龄:");

s2.setAge2(scan2.nextInt());

??

}

}

我要返回2个值怎么办?
那么我要在Test中来调试输出结果怎么办?(我其实要分开来写的,当然我写的Sudent类,Output类是错的,Test类也是错的)因为字数超出最大允许值,我没把Sudent,Test类写在这里!
展开
 我来答
甜甜琪N
2014-01-14
知道答主
回答量:12
采纳率:0%
帮助的人:6.4万
展开全部
package vance;

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Input {

public List<Student> infoInput(){
  
  List<String> list = new ArrayList<String>();
  
  Scanner scan = new Scanner(System.in);
  
  Student s = new Student();
  
  System.out.println("请输入第一个学生的ID:");
  
  s.setId(scan.nextInt());
  
  System.out.println("请输入第一个学生的名字:");
  
  s.setName(scan.next());
  
  System.out.println("请输入第一个学生的年龄:");
  
  s.setAge(scan.nextInt());
  
  list.add(s);
    
   Scanner scan2 = new Scanner(System.in);
   
   Student s2 = new Student();
   
   System.out.println("请输入第二学生的ID:");
   
   s2.setId2(scan2.nextInt());
   
   System.out.println("请输入第二学生的名字:");
   
   s2.setName2(scan2.next());
   
   System.out.println("请输入第二的年龄:");
   
   s2.setAge2(scan2.nextInt()); 
   
   list.add(s2);
   
   return list;

如上,你把这个方法的返回值改为list集合,集合中放入Student对象,想放多少放多少,然后这个方法返回这个集合。

追问
,那么我要在Test中来调试输出结果怎么办?(我其实要分开来写的,当然我写的Sudent类,Output类是错的,Test类也是错的)因为字数超出最大允许值,我没把Sudent,Test类写在这里!
追答
楼上 马亦丁 说的是对的,参照他说的就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马亦丁
2014-01-14 · TA获得超过166个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:87.4万
展开全部
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Input {
 public List<Student> infoInput() {  
 List<Student> list = new LinkedList<Student>();    
 
  Scanner scan = new Scanner(System.in);
  Student s = new Student();
  System.out.println("请输入第一个学生的ID:");
  s.setId(scan.nextInt());
  System.out.println("请输入第一个学生的名字:");
  s.setName(scan.next());
  System.out.println("请输入第一个学生的年龄:");
  s.setAge(scan.nextInt());  
  list.add(s);    
  
  Scanner scan2 = new Scanner(System.in);
  Student s2 = new Student();
  System.out.println("请输入第二学生的ID:");
  s2.setId(scan2.nextInt());
  System.out.println("请输入第二学生的名字:");
  s2.setName(scan2.next());
  System.out.println("请输入第二的年龄:");
  s2.setAge(scan2.nextInt());
  list.add(s2);  
  
  return list; 
  }
}
追问
那么我要在Test中来调试输出结果怎么办?(我其实要分开来写的,当然我写的Sudent类,Output类是错的,Test类也是错的)因为字数超出最大允许值,我没把Sudent,Test类写在这里!
追答

首先,

s2.setId2(scan2.nextInt());

这句是有问题的, 你只有setId(id)方法,没有setId2(id)。


infoInput() 方法返回的是一个集合(List<Student>或Set<Student>都可以)。调用这个方法以后,遍历这个集合就可以。比如:


public void toString(){
    List<Student> list = infoInput();
    for(Student s:list ){
        System.out.println(s.getName()+s.getId()+s.getAge());
    }
}

如果你返回的集合有2个学生,它就打印2个学生的名字,id和年龄。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杰克萧
2014-01-14 · TA获得超过364个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:447万
展开全部
将这两个值放进数组或者数组列表中返回。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2014-01-14 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3498万
展开全部
就不能有2个返回值 你这个最好是建一个学生对象 返回学生对象
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友48e1143
2014-01-14
知道答主
回答量:16
采纳率:0%
帮助的人:1.9万
展开全部
返回一个集合,或者一个对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式