当前位置: 首页 > 知识库问答 >
问题:

如何从用户输入列表中添加数字?[副本]

汪典
2023-03-14

我试图编写一个程序,它会告诉你:

    null
import java.util.Scanner;

public class InputParser
{
   public static void main(String[] args)
   {
      Scanner scanner = new Scanner(System.in);
      System.out.print("How many values do you want to parse?: ");
      int numValues = scanner.nextInt();
      System.out.println("Please enter " + numValues + " values: ");

      while(scanner.hasNextLine())
      {
         if(scanner.hasNext())
         {
            if(scanner.hasNextInt())
            {
               int sum;

               System.out.println("The sum of your values is: " + sum + ".");
            }
         }  
         scanner.close();
      }
   }
}

共有1个答案

巫马欣嘉
2023-03-14

我不明白为什么你会问用户他们想提前和多少个数字。基本上,您的代码可以简化并处理任意数量的数字。在扫描程序包装系统上调用close()也是一个非常糟糕的主意。不管怎样,你可以做一些事情,

Scanner scanner = new Scanner(System.in);
// System.out.print("How many values do you want to parse?: ");
// int numValues = scanner.nextInt();
System.out.println("Please enter values to sum (type quit to stop)");
int sum = 0; // <-- start at 0.
int count = 0;
while (scanner.hasNext()) {
    if (scanner.hasNextInt()) {
        count++;
        sum += scanner.nextInt();
    } else {
        String str = scanner.next();
        if (str.equalsIgnoreCase("quit")) {
            break; // <-- end the loop.
        }
        System.out.printf("The value '%s' is not an int (quit to stop).%n", str);
    }
}
System.out.printf("The sum of your %d values is %d.%n", count, sum);
// scanner.close(); // <-- Really Bad Idea

根据您的评论进行编辑,

Scanner scanner = new Scanner(System.in);
System.out.println("Please enter values to sum (type quit to stop)");
while (scanner.hasNextLine()) {
    String str = scanner.nextLine();
    str = (str != null) ? str.trim() : "";
    if (str.equalsIgnoreCase("quit")) {
        break; // <-- end the loop.
    } else if (str.length() == 0) {
        continue;
    }
    int sum = 0; // <-- start at 0.
    int count = 0;
    Scanner scan2 = new Scanner(str);
    while (scan2.hasNextInt()) {
        count++;
        sum += scan2.nextInt();
    }
    System.out.printf("The sum of your %d values is %d.%n", count, sum);
}

 类似资料:
  • 所以我的问题很简单。 如何从表单中获取用户输入并将其放入变量中? 我想用香草JS和没有库来做这件事。 多谢了。

  • 我正在制作一个程序,该程序应该让用户输入一个字符串,其中包含一个学生的名字,后跟他们的测验、家庭作业和考试分数(用户输入决定每个学生的分数),并获取每个数据段并将其添加到一个数组中。 我计划通过4个不同的数组来做到这一点:1个用于名称,1个用于HW分数,1个用于测验分数,1个用于考试分数。 它的工作原理是为每个学生输入名称,然后输入分数,每个分数前面都有字母,表示分数的类型。例子: 让程序将每个名

  • 问题内容: 我试图用来获取数字列表,但是带有代码 输入给出的结果为,因此我想它会将输入解释为字符串。有什么直接方法可以列出清单吗?也许我可以用来提取整数,但如果可能的话,我宁愿使用更的解决方案。 问题答案: 在Python 3.x中,使用它。 例

  • 任务是“编写一个程序,为用户输入的整数显示用户指示的倍数。” 我想我不需要一个完全直接的答案(尽管我确实想知道要使用的方法/公式),因为我想把这个作为一个学习经验,以便自己完成任务并从中学习。我真的想知道的过程和使用的方法,以及找到一个公式。: 我真的不确定如何编写一个代码,显示一个用户输入的整数的用户输入的数字。最难的部分似乎是编写循环公式。不知道从哪里开始。 到目前为止,我已经: 我真的不确定

  • 问题内容: 我有一些像这样的数据框: A中值 的 可能范围仅为0到7 。 另外,我有一个8个元素的列表,如下所示: 如果A列中的元素是 n ,我需要将List中的第 n 个元素插入新列,例如’D’。 如何一口气做到这一点而又不遍历整个数据框? 产生的数据框如下所示: 注意:数据框很大,迭代是最后一个选项。但是如果需要的话,我也可以将其他数据结构(如dict)排列在“ List”中的元素上。 问题答

  • 我对编程比较陌生,尤其是Python。我被要求创建一个for循环,打印用户给出的10个数字。我知道如何接受输入以及如何创建for循环。困扰我的是,在我的程序中,我依靠用户插入10个数字。我如何让程序控制插入多少数字?这是我尝试的:

  • 当执行求和序列时,所需输出发生变化。 问题是: 莉莉有一块巧克力,她想在罗恩生日时与他分享。每个正方形上都有一个整数。她决定共享所选条形图的一个连续段,以便该段的长度与Ron的出生月份相匹配,并且平方上的整数之和等于他的出生日期。你必须确定她可以用多少种方法分巧克力。 将巧克力棒视为一个方块数组,。她想找到罗恩出生日的总和,长度等于他出生月份的片段,m=2。在这种情况下,有两个段符合她的标准:和。

  • 问题内容: 对于你们大多数人来说,这可能很容易解决,但是我不能简单地解决这个问题,对吗? 我想将此列表转换为。 提前致谢!! 问题答案: