尝试多次循环for循环

时间:2018-03-05 22:48:49

标签: java loops

希望这个问题有意义,但基本上这就是我遇到的问题。我的任务是创建一个程序,以某人的罚球投篮命中率为输入然后模拟5场比赛,他们试图每场比赛投10次罚球。此外还有一个总结,然后显示最好的游戏,最差的游戏,所有游戏的总和,平均罚球百分比。

我目前已经达到了这样的程度,我试图让我的模拟游戏多次运行,但似乎无法弄明白。这是我到目前为止:     import java.util。*;

public class FreeThrow {
    public static int simulate(int input){
        int i;
        int j;
        int count = 0;

        for (j = 1; j < 6; j++){
            System.out.println("Game " + j + ":");      
            for(i = 0;i < 10; i++){
                int shot = (int)(Math.random()*101)-1;
                if (shot > input){
                    System.out.print("OUT ");//shot missed
                } else {
                    System.out.print("IN ");//shot made
                    count++;
                }
            }
            //prints the number of free throws made per game out of 10
            System.out.print("\nFree throws made: " + count + " out of 10.");
            return i;
        }
        return j;
    }
    public static void main (String[] args){
        //asks for user input to detemine player free throw percentage
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter Player's Free Throw Percentage: ");
        int input = scan.nextInt();

        simulate(input);

    }
}

如你所见,我目前在for循环中有一个for循环。我这样做是为了在添加&#34;游戏1:&#34;将显示在上面并显示每个游戏的行。它只适用于一款游戏。我看起来完全像它应该。以下是教授希望它的样子:Link To Image 任何形式的洞察我可能做错了什么或建议如何让它做我想做的事将非常感激。

1 个答案:

答案 0 :(得分:0)

我已添加到您的代码中,因此现在有一个百分比和一个总数,您几乎已经正确,只需进行一个小的更改,以便可以携带和显示计数。如果你想拥有一个最好/最差的游戏,你需要创建两个新的变量,并且如果阈值是1)为最佳游戏打败,则为每个游戏更新它们,以及2)对于最差游戏更低。

如果你遇到困难,请告诉我,我会帮你。应该很容易实现你目前所知的。

问题是你在没有必要时回来了。这已经被证明了这一点:

public class freeThrow {

private static int count;

    public static int simulate(int input){
        int i;
        int j;


        for (j = 1; j < 6; j++){
            System.out.println("Game " + j + ":");
            for(i = 0;i < 10; i++){
                int shot = (int)(Math.random()*101)-1;
                if (shot > input){
                    System.out.print("OUT ");//shot missed
                } else {
                    System.out.print("IN ");//shot made
                    count++;
                }
            }

            //prints the number of free throws made per game out of 10
            System.out.println("\nFree throws made: " + count + " out of 10.");
        }
        return j;
    }

    public static int average(int count) {
        int average = count/5;
        System.out.println("\nAverage is " +  average*10 + "%");
        return average;
    }

    public static int totalShots(int count) {
        int total = count;

        System.out.println("total shots made " + total);

        return total;
    }

    public static void main (String[] args){
        //asks for user input to detemine player free throw percentage
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter Player's Free Throw Percentage: ");
        int input = scan.nextInt();

        simulate(input);
        average(count);
        totalShots(count);

    }
}