【问题标题】:How to use previous parameter from array in for loop如何在for循环中使用数组中的前一个参数
【发布时间】:2026-02-07 07:50:02
【问题描述】:

我一直在尝试编写此代码,如果输入为“31”或更多,则将用户输入增加 33,直到输入或“90”,并且我在想使用用户输入的地方碰壁了从数组中,但我不能。有人可以帮忙吗?谢谢。

if (choice.equals("R")) {
    System.out.println("You have selected to draw a Rectangle!");
    System.out.println("Please enter the Height and Width of the rectangle that is within 30cm - 90cm: ");
    int[] array = new int[2];
    int[] array2 = new int[2];
    Scanner scan = new Scanner(System.in);

    String line1 = scan.nextLine(); 
    String[] numbers1 = line1.split(" "); 
    for(int i=0;i<numbers1.length;i++){
        array[i] = Integer.parseInt(numbers1[i]);
    }

我正在尝试创建一种方法,以便以后能够轻松调用它,但这就是问题,因为我无法完成我的计算。

public static void timeTurn (int a, int b) {

    for(int i = 1000; i < 3001; i+= 33) {

        if(numbers1.equals(>=30)) {

        }
    }
}

【问题讨论】:

  • 将数组传递给你的函数? public static void timeTurn(int a, int b, String[] numbers1) {。不清楚你在这里问什么。
  • 我正在尝试将 cm 转换为毫秒(1000 到 3000),我认为制作一个方法会使调用它变得最简单。例如,如果用户输入“60”,我希望该方法将 1000 毫秒增加 33,直到达到 2000;如果这有意义的话。
  • 将距离单位转换为时间单位对我来说没有意义。但是,如果您可以在示例中没有函数的情况下编写完整的内联代码,请这样做,也许我们可以帮助您将其转换为函数部分。

标签: java arrays loops for-loop robotics


【解决方案1】:
  1. int[] array2 = new int[2]; 在这里没用。 顺便说一句,请不要将变量命名为“array”或“array2”。别人和自己以后都很难理解。
  2. 如果您将“数组”的长度定义为 2,那么这个 for 循环 for(int i=0;i&lt;numbers1.length;i++){...} 是没有意义的,因为您已经定义了这个数组中只能有两个整数。
  3. 我不知道“将厘米转换为毫秒”的含义,因为一个是距离,另一个是时间......
  4. 我不明白(int a, int b)“a”、“b”是什么意思。 据我了解,第二个代码应该是:


public static void timeTurn (int[] length) {
    int minMillsecond = 1000;
    int maxMillsecond = 3001;
    int gap = 33;
    for(int len : length){
        if (30 <= len <= 90){
            len += minMillsecond;
            while(len < 3000){ len+=gap;}
            print len;
        }
    }
}

【讨论】: