为了账号安全,请及时绑定邮箱和手机立即绑定

Java ArrayList 循环问题

Java ArrayList 循环问题

慕慕森 2022-07-20 12:13:19
我在eclipse上用java编写一个垄断式的游戏。我目前正在研究一种方法,该方法允许玩家循环通过自己的方格并选择要开发的方格。for (int loop2 = 0; loop2 < currentPlayer.getOwnedSquares().size(); loop2++) {    count++;    System.out.println("Would you like to develop this property " + count + ". "     + currentPlayer.getOwnedSquares().get(loop2).getName() + " (y/n)");    propertyChoice = scanner.nextLine();    if (propertyChoice.equalsIgnoreCase("Y")) {            break;        }else if (propertyChoice.equalsIgnoreCase("N")) {            continue;        }    }System.out.println("Please choose a development option");System.out.println("1.Buy a start-up");System.out.println("2.Buy a global corporation");int option = scanner.nextInt();我无法让循环一次只显示一个拥有的方格,因此玩家可以选择是/否想要开发哪个方格。如果玩家选择“N”,则循环将呈现数组中的下一个拥有的属性,玩家将做出另一个决定,依此类推。如果玩家选择“Y”,则循环将中断并继续前进所选自有广场的发展选择。任何有关如何实现这一点的建议将不胜感激。
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您必须将用户输入检查移出循环,因此算法如下所示:

  1. 循环打印所有拥有的方块。

  2. 询问用户(在循环之外)他想要开发哪个方格。例如,用户可以简单地提供一个正方形的位置编号,您可以通过

    currentPlayer.getOwnedSquares().get(Integer.valueOf(userInput));
  3. 用选定的正方形做任何你需要的事情。

查看完整回答
反对 回复 2022-07-20
?
MMTTMM

TA贡献1869条经验 获得超4个赞

我只是修改了代码进行测试,它可以按您的意愿工作。我认为您还没有分享其他问题。


import java.util.Scanner;


public class Test {


    public static void main(String[] args) {

        int count=0;

        String propertyChoice;

        Scanner scanner = new Scanner(System.in);

        for (int loop2 = 0; loop2 < 5; loop2++) {


            count++;


            System.out.println("Would you like to develop this property " + count

                     + " (y/n)");


            propertyChoice = scanner.nextLine();


            if (propertyChoice.equalsIgnoreCase("Y")) {

                break;

            }else if (propertyChoice.equalsIgnoreCase("N")) {


                continue;

            }

        }

        System.out.println("Please choose a development option");

        System.out.println("1.Buy a start-up");

        System.out.println("2.Buy a global corporation");

    }

}

输出:


Would you like to develop this property 1 (y/n)

n

Would you like to develop this property 2 (y/n)

n

Would you like to develop this property 3 (y/n)

y

Please choose a development option

1.Buy a start-up

2.Buy a global corporation


Process finished with exit code 0


查看完整回答
反对 回复 2022-07-20
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

尝试scanner.nextLine();立即投入propertyChoice = scanner.nextLine();

编辑:如果这不起作用,请注意第二个块else周围没有括号。if我不知道这是否可行,因为我没有看到您所指的课程,也不能说有错误。您显示的代码似乎没有任何其他问题。



查看完整回答
反对 回复 2022-07-20
  • 3 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信