Java 代码:如何使用一个类&x27;s toString方法在另一个类中';s多次旋转

Java 代码:如何使用一个类&x27;s toString方法在另一个类中';s多次旋转,java,for-loop,arraylist,return,tostring,Java,For Loop,Arraylist,Return,Tostring,本练习要求我们创建一个“RoadTrip”类,该类使用地理位置类创建地理位置的ArrayList。练习的一部分要求我们在RoadTrip类中创建一个toString方法,该方法最终将返回如下字符串: 1. San Francisco (37.7833, -122.41671) 2. Los Angeles (34.052235, -118.2436831) 3. Las Vegas (36.114647, -115.1728131) 为ArrayList中的每个地理位置对象生成字符串 但是我不

本练习要求我们创建一个“RoadTrip”类,该类使用地理位置类创建地理位置的ArrayList。练习的一部分要求我们在RoadTrip类中创建一个toString方法,该方法最终将返回如下字符串:

1. San Francisco (37.7833, -122.41671)
2. Los Angeles (34.052235, -118.2436831)
3. Las Vegas (36.114647, -115.1728131)
为ArrayList中的每个地理位置对象生成字符串

但是我不能将return语句放入for循环中。这里有一个我“作弊”的例子,让它模拟我想要它实际做的事情

public String toString() 
    {
        int counter = 1;
        for (int i = 0; i < locationList.size() ; i++) 
        {
            System.out.println(counter + ". " + locationList.get(i).toString());
            counter++;
        }
        return "";
    }
我看到了使用StringBuilder的其他解决方案,但我假设课程的创建者希望我们使用提供的工具完成练习。我是否可以使用另一种方法,将其自身局限于给定的“工具集”


如果我的techincal语言已关闭,请原谅,我对编码还是比较陌生。

如果您不能使用StringBuilder,为什么不这样连接字符串

public String toString() 
    {
        int counter = 1;
        String str = "";
        for (int i = 0; i < locationList.size() ; i++) 
        {
            str = str + counter + ". " + locationList.get(i).toString();
            str = str + "\n";
            counter++;
        }
        return str;
    }
公共字符串toString()
{
int计数器=1;
字符串str=“”;
对于(int i=0;i
另外,我没有运行代码。

为什么会出现问题-
  • 控件在第一次循环迭代中遇到return语句,并返回调用方法的位置。因此,无法访问循环体中的以下行

  • 由于return语句位于循环中,并且受条件执行的约束,因此编译器会告诉您缺少一条return语句。见下面的代码:

  • 公共类程序
    {
    公共静态void main(字符串[]args){
    System.out.println(方法());
    }
    静态int方法()
    {
    int i=(int)Math.random();
    如果(i>0)
    返回1;
    }
    }
    
    因为这是你的任务,我不会提供工作代码


    最简单的解决方案是定义一个字符串变量,在其中存储一个空字符串(
    ),在循环中输入所需的任何内容,然后返回它。

    如果要避免
    StringBuilder
    ,必须在for循环中输入
    String
    ,这是一种反模式。你确定
    StringBuilder
    不在你的“工具集”中吗?那么…到目前为止有什么进展吗?是的,我可以通过连接字符串来完成作业。对不起,我忘了通知你!哇,这是一个显而易见的解决方案。真不敢相信我也忘了“\n”。感谢您的帮助。String str=null;str=str+“100”;系统输出打印项次(str);将打印“null100”谢谢你告诉我问题背后的原因。非常感谢你的帮助。“非常感谢你的帮助。”向上投一票,表明这真的很好不幸的是,在我获得更多声誉之前,我的选票是看不见的。
    public String toString() 
        {
            int counter = 1;
            String str = "";
            for (int i = 0; i < locationList.size() ; i++) 
            {
                str = str + counter + ". " + locationList.get(i).toString();
                str = str + "\n";
                counter++;
            }
            return str;
        }