【问题标题】:Simple calculator program in Java. No. of integers read and AverageJava中的简单计算器程序。读取的整数数和平均值
【发布时间】:2011-08-09 07:57:40
【问题描述】:

我有一项任务需要我打印出以下数量:

我需要编写一个可以计算的java程序: 1.读入的整数个数 2. 平均值——不一定是整数!

我的最终输出应该是这样的:

$ javac SimpleCalc 
$ java SimpleCalc 3 4 6 8 1 
5
8
4.4 
7

我知道我需要使用扫描仪类来读取,然后作为用户输入,我不知道如何让它显示计数。我认为我可以解决这个问题,我可以通过将数字相加并将总和除以输入的整数数来计算平均值。

但是这是我第一次编写程序,这让我很头疼。任何帮助都将不胜感激,如果它可以帮助我弄清楚如何处理这个问题,我什至接受伪代码。

【问题讨论】:

  • 尝试一下,如果错了也不要担心。尝试解决您遇到的问题并发布您无法解决的问题。这样你就会得到很好的答案。当前形式的问题很可能会被社区关闭或忽略
  • 除了 Nivas 注释之外,将您的项目分为三类:程序执行、创建 GUI 和读取给定值、创建业务逻辑(计算不同的算术)。我敢肯定,对您来说最大的挑战将是您项目的中间部分。
  • Starting Writing a Program。我强烈建议按照概述的每个步骤进行操作。

标签: java calculator integer


【解决方案1】:

这里你应该使用main函数的参数:

public class PrintArgs {
    public static void main (String[] args) {
        for (int i = 0; i<args.length; ++i) {
          System.out.println("Args " + (i + 1) + " is " + args[i]);
        }
    }
}

将这个类保存在一个名为 PrintArgs.java 的文件中并使用 javac 编译它:

$ javac PrintArgs.java

使用java运行生成的类文件:

$ java PrintArgs hello world
Args 1 is hello
Args 2 is world

$ java PrintArgs 3 4 6 8 1 
Args 1 is 3
Args 2 is 4
Args 3 is 6
Args 4 is 8
Args 5 is 1

现在您知道如何读取用户的输入了。要将String 转换为int,请使用Integer 类的parseInt 方法:

int i = Integer.parseInt("980");
System.out.println(100 + i); // => 1080

现在您知道如何编写计算器程序了!

【讨论】:

  • +1 - 很好的答案将 OP 引导到正确的方向,而实际上并没有为他做这件事。
  • 谢谢,你的解释比我的实验老师简单 100 倍
  • 但是还有一个问题,为什么我需要使用 parseInt 方法?
  • @syncoroll 您需要将mainString 参数转换为int 值,然后才能添加、划分它们等。
【解决方案2】:

不,您不需要扫描仪来解决这个问题。你需要的是:

  • “主要方法”的理解
  • 了解数组和“可变参数”
  • 了解将字符串解析为另一个对象,例如 Double 或 Integer
  • 简单的数学(我相信你拥有这个)

如果这是家庭作业,你的老师会要求你阅读我上面提到的内容。

【讨论】:

    【解决方案3】:

    我记得你所有的参数都被传递并存储在你main函数暴露的变量中的程序中:

    public class Echo 
    {
        public static void main (String[] args) {
            for (String s: args) {
                System.out.println(s);
            }
        }
    } 
    

    所以一切都在您的string[] args 中。这是数组(第一个是你的程序路径和文件),它有类似“Count()”的方法(不记得了),然后你需要使用一些包装器将它们解析为数字,比如Integer.Parse(args[2])

    http://download.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

    【讨论】:

      【解决方案4】:
      public static void main(String args[])
      {
         // 1. the number of integers read in
      
          int len = str.length
      
         //2. the average value
      
      
             int sum = 0;
             int avg = 0;
             for(int i = 0 ; i < len ; i++)
             { 
                sum = sum + str[i];
             }
             avg = sum/len ;
      }
      

      【讨论】:

      • 仅仅发布代码并不能真正帮助 OP 学习。此外,您的代码甚至没有任何意义。
      • 我觉得代码是不言自明的,因为我已将问题作为 cmets。
      • 而且由于我之前阅读了很多帖子,已经解释了“public static void main(String args[])”和数组的使用,我觉得重复同样的事情是多余的再次。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2014-01-28
      相关资源
      最近更新 更多