【问题标题】:Nested for loop sum of integers嵌套for循环整数和
【发布时间】:2014-03-11 14:04:25
【问题描述】:
public class NestedCountLoop
{
  public static void main(String[] args)
   {
    int sum = 0;
    for (int i = 1; sum < 5050; i++) {
    sum = sum + i;
    System.out.println(sum);
    }
   } 
}

所以我为我的入门编程课做了一个小作业,使用嵌套循环来接受正整数输入,并将从 1 到该输入的区间内的所有整数相加。我的大脑在和我玩游戏,我无法继续前进。我知道我需要一台扫描仪等等,它必须打印从 1 到 n 的每个结果,例如“1 到 100 的总和是 5050”。任何建议都有帮助

【问题讨论】:

  • 所以找一个scanner的用法,试试简单的输入法。
  • 我知道我需要一台扫描仪之类的很好,你知道该用什么!现在对Scanner 的用法进行更多研究,例如Java 教程:docs.oracle.com/javase/tutorial/essential/io/scanning.html
  • 我可以忍受没有反对票,但为什么它会被赞成?
  • @DaveNewton 同样的想法...
  • @JustinC ...我知道你想搞笑,我很感激你的努力。问题必须是的问题,无论其复杂程度如何。这不好,有几个原因,这些原因记录在案。可能与您花时间讽刺并错过重点的原因相同。

标签: java java-io


【解决方案1】:

来自http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html的扫描仪信息

Scanner sc = new Scanner(System.in);

for (int i = o; i < 100; i++){
    int upperLimit = sc.nextInt();
    for (int w = 0; w < upperLimit; w++){
        sum = sum + i;
    }
    System.out.println("Sum is " + sum);
}

【讨论】:

  • 是的,我想得到我想要的结果,但我只是不知道如何根据要求使其成为嵌套循环。我们必须有一个循环 100 次的第二个循环
  • 您能否更具体地说明第二个循环应该做什么?
  • 由于我有一个计算 1 到 n 之和的程序,我需要将其嵌入到第二个循环中,该循环循环 100 次,外部循环控制它循环的次数。我想方向很模糊,所以如果我不能很好地解释,我很抱歉
  • 我编辑了我的回复,以至少反映你所说的一些内容。外部循环使用我之前使用的扫描器,每次循环时,您输入一个新整数,扫描器获取它并将其用作求和循环的上限。希望这至少能让你朝着正确的方向前进。
  • 感谢他让我得到了我非常需要的东西。我很感激
【解决方案2】:
public class NestedCountLoop
{
  public static void main(String[] args)
   {
    int to = Integer.parseInt(args[0]);
    int sum = 0;
    for (int i = 1; sum < to; i++) {
       sum = sum + i;
       System.out.println(sum);
    }
   } 
}

这个怎么样?它从命令行 (arg0) 获取输入,并将每个数字添加到您的数字(不包括在内)。

所以你必须用javac编译你的java文件,然后你才能运行:

javac NestedCountLoop.java
java NestedCountLoop.class 100

另一方面,之前的解决方案提到了扫描仪的 javadoc,如果您真的需要使用它的话。 :)

【讨论】:

    【解决方案3】:
    System.out.println("Enter your maximum number: ");
    
    // get the input
    Scanner input = new Scanner(System.in);
    int max = input.nextInt();
    
    int sum = 0;
    
    // iterate through an array to sum up the numbers
    for (int i = 1; i < max; i++) {
        sum = sum + i; // sum += i;
    }
    
    // print out the sum after you counted everything
    System.out.println(sum);
    

    【讨论】:

      【解决方案4】:
      import java.util.Scanner;
      
      public class sumoftenIntegerInput {
      
          public static void main(String[] args) {
              Scanner input = new  Scanner(System.in);
              int sum = 0;
              for(int i=1; i<=10; i++){
                  System.out.println("Enter integer input " + i + ":");
                  int a = input.nextInt();
                  sum = sum + a ;
      
              }
              System.out.println("Total is:" + sum );
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 2015-01-28
        相关资源
        最近更新 更多