【问题标题】:How to get part of array elements by user input using a loop如何使用循环通过用户输入获取部分数组元素
【发布时间】:2013-11-10 16:24:01
【问题描述】:

我正在创建一个程序,它采用各种双精度数组并显示它们。该数组有 10 个元素,我被要求使用循环从用户输入中获取元素 2 到 9 的值。我尝试了一个 for 循环,但我就是不明白如何完成。

int c; 
for(c = 0; c >= 2 && c <= 9; c++){ 
  System.out.println("Enter a value for the elements 2-9: "); 
} 
System.out.println(" "); 

【问题讨论】:

  • 您可以将您的代码添加到帖子中吗?
  • 这是我试过的,但没用
  • 这不是你写循环的方式:(

标签: java arrays loops


【解决方案1】:

如果你有一个Java数组如下:

double myarr[10];

您通过索引访问数组中的元素(假设数组已填充数据)

double somenum = myarr[3]; // extracts the *fourth* element from the list

要在数组中设置一个值,请使用赋值运算符并指定一个值:

myarr[7] = 3.14159; // sets the *eighth* element to value '3.14159'

如果您希望遍历一系列数字,您可以使用 for 循环。 For 循环的格式如下:

for (initialization; condition; increase)

如果你想打印 1 到 10 之间的所有数字,你可以这样写:

for (int i=1; i<=10; i++) {
    System.out.println(i);
}

诀窍是在 for 循环中使用变量 i 并确保循环迭代正确的范围。提示:您可以使用i 作为数组索引。

这里有一些很好的资源:

【讨论】:

    【解决方案2】:

    这是一个循环用户输入的方法:

    Scanner reader = new Scanner(System.in);
    
    for(int i=2; i<8; i++){
        System.out.println("Enter Element "+i);
        a=reader.nextInt();
        //store "a" somewhere
    }
    

    【讨论】:

      【解决方案3】:

      c 需要从 1 开始(因为你想要第二个元素)并在 8 处停止(对于第九个) 所以for(int c=1;c&lt;9;c++)应该是循环

      写循环的时候记得;

      • 数组索引从 0 开始,第一个元素为 0,第二个元素为 1,直到最后一个元素的长度为数组减 1
      • 如果你的循环增加,那么它可以有的最小值就是它开始时的值,所以你不应该检查以确保它大于那个,(即如果你从 2 开始并增加那么你不需要检查它是否大于或等于 2,因为它总是)

      【讨论】:

      • 所以要显示内容,我是否只需使用 System.out.print 并将 c 放入其中?
      • 那么现在我将使用 for 循环中的这些元素求和: int sum = 0; for(c = 0; sum++){System.out.println(" ");}
      • @user2939049,请看一下for循环的格式。我们提供了有用资源的链接。
      • @CollinJSimpson 我将操作解释为希望循环从数组的第二个元素(索引 1)到数组的第九个元素(索引 8),包括端点.因此,循环计数器不应该从 1 开始到 8 吗?
      • @vandale,我将起始索引误读为 1。但是,“元素 2 到 9”是否暗示使用索引或数字位置并不完全清楚。
      【解决方案4】:

      看看 for 循环的语法here

      Console console = System.console();
      double arr[10];
      for(int c = 1; c<10; c++){ 
          String input = console.readLine("Enter a value for the elements 2-9: ");
          arr[c] = Double.parseDouble(input);
          System.out.println(arr[c]);
      } 
      

      【讨论】:

        猜你喜欢
        • 2018-09-21
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2013-04-16
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        相关资源
        最近更新 更多