首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于某些原因,Java循环运行了4次

由于某些原因,Java循环运行了4次
EN

Stack Overflow用户
提问于 2019-12-05 17:48:35
回答 3查看 88关注 0票数 0

所以我有一个赋值,我需要将用户的输入循环6次。循环完成后,又循环了3次。我没有在它之前添加一个for lop,所以我不知道如何处理它。

下面是该方法的代码:

代码语言:javascript
复制
public static int[] getPlayerNumbers(int[] playNums) {
    Scanner input = new Scanner(System.in);

    for (int i = 0; i < playNums.length; i++) {
        System.out.println("Please enter numbers from 1-9: " + i);
        playNums[i] = input.nextInt();

        while (playNums[i] < 1 || playNums[i] > 9) {
            System.out.println("Invlaid input. Please only enter 1-9. ");
            playNums[i] = input.nextInt();
        }
    }

    return playNums;
}

我放置了i来查看索引,它转到05,然后返回到0。我没办法了,请帮帮忙。

EN

回答 3

Stack Overflow用户

发布于 2019-12-05 18:00:46

看起来你的playNums有超过6个。试试吧。

代码语言:javascript
复制
public static int[] getPlayerNumbers(int[] playNums) {
Scanner input = new Scanner(System.in);

for (int i = 0; i < 6; i++) {
    System.out.println("Please enter numbers from 1-9: " + i);
    playNums[i] = input.nextInt();

    while (playNums[i] < 1 || playNums[i] > 9) {
        System.out.println("Invlaid input. Please only enter 1-9. ");
        playNums[i] = input.nextInt();
    }
}

return playNums;}
票数 0
EN

Stack Overflow用户

发布于 2019-12-05 18:07:04

我已经测试过你的代码,它看起来对我很有效。playsNums包含的值肯定不止6个。

代码语言:javascript
复制
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] playNums ={1, 2, 3, 4, 5, 6};
        getPlayerNumbers(playNums);
        for (int playNum: playNums) {
            System.out.println(playNum);
        }
    }

    public static int[] getPlayerNumbers(int[] playNums)
    {
        Scanner input = new Scanner(System.in);

        for (int i = 0; i < playNums.length; i++) {
            System.out.println("Please enter numbers from 1-9: " + i);
            playNums[i] = input.nextInt();
            while (playNums[i] < 1 || playNums[i] > 9) {
                System.out.println("Invalid input. Please only enter 1-9. ");
                playNums[i] = input.nextInt();
            }
        }
        return playNums;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2019-12-05 18:08:03

尝尝这个

代码语言:javascript
复制
public static int[] getPlayerNumbers(int[] playNums)
{
    Scanner input = new Scanner(System.in);

    for (int i = 0; i < 6; i++)
    {
        playNums[i] = input.nextInt();
        if(playNums[i] < 1 || playNums[i] > 9){
           System.out.println("Invlaid input. Please only enter 1-9. ");
           getPlayerNumbers(playNums);
        } else{

        System.out.println("Please enter numbers from 1-9: " + i);
            playNums[i] = input.nextInt();
        }

    }
    return playNums;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59192309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档