如何在不使用集合的情况下返回多个值?

时间:2015-05-21 22:11:04

标签: java string methods collections return

我正在使用课本Murach的java编程,在其中一个练习中,它要求我做以下事情:

  

添加此方法(由本书给出):

private static String displayMultiple(Displayable d, int count)
     

编写此方法的代码,使返回一个String ,其中包含Displayable参数int参数指定的次数。

     

Displayable是实现getDisplayText()的接口。此方法只返回带有对象实例变量的String,即对于Employee,它返回名字,姓氏,部门和工资。

除“返回字符串”外,一切正常。

3 个答案:

答案 0 :(得分:6)

这可能是关于循环的练习:

  • 您可以将d转换为字符串:getDisplayText。例如,这会产生"ABCD"
  • 您想要返回count次字符串"ABCD"。如果count == 3,则表示"ABCDABCDABCD"

有用的关键字:for loopStringBuilder。这是一个可用于入门的模板:

String text = ;// Use getDisplayText here
StringBuilder ret = new StringBuilder();
/* Loop from 0 to count - 1 */ {
    // Append `text` to `ret` 
}
return ret.toString();

您实际上并不需要返回多个值。

答案 1 :(得分:3)

据我所知:

private static String displayMultiple(Displayable d, int count){
   String s = "";
   String ss = d.getDisplayText();
   for(int i=0; i<count; i++){
      s += ss;
   }
   return s;
}

答案 2 :(得分:2)

如果要使用集合返回多个值,则可以创建一个类 -

public class MultipleValue{

   String firstValue;
   String secondValue;

   //other fields

}  

然后从someMethod()您想要返回多个值(即firstValuesecondValue),您可以执行此操作 -

public MultipleValue someMethod(){

   MultipleValue mulVal = new MultipleValue();
   mulVal.setFirstValue("firstValue");
   mulVal.setSecondValue("secondVAlue");

   return mulVal;
}  

然后,在someMethod()的调用类中,您可以像这样提取多个值(即firstValuesecondValue) -

//from some calling method
MultipleValue mulVals = someMethod();

String firstValue = mulVals.getFirstValue();
String secondValue = mulVals.getSecondValue();