Простой калькулятор на Java. Число прочитанных целых чисел и Среднее - PullRequest
2 голосов
/ 09 августа 2011

У меня есть задание, которое требует от меня распечатать следующие количества:

Мне нужно написать Java-программу, которая может рассчитывать: 1. количество целых чисел, прочитанных в 2. среднее значение, которое не обязательно должно быть целым числом!

Мой окончательный вывод должен выглядеть следующим образом:

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

Я знаю, что мне нужно использовать класс сканера, чтобы затем читать как пользовательский ввод, я не знаю, как заставить его отображать счет. Я думаю, что я могу решить это, я могу вычислить среднее, сложив числа и разделив сумму на число введенных целых чисел.

Однако я впервые пишу программу, и это заставляет меня задуматься. Любая помощь будет признательна, я даже приму псевдокод, если это поможет мне понять, как к этому подойти.

Ответы [ 4 ]

3 голосов
/ 09 августа 2011

Здесь вы должны использовать аргументы функции 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, используйте метод parseInt класса Integer:

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

Теперь вы знаете, как написать свою программу калькулятора!

1 голос
/ 09 августа 2011

Как я помню, все ваши аргументы передаются и сохраняются в программе в переменной, которую вы main выставляете функцией: </p> <pre><code>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

1 голос
/ 09 августа 2011

Нет, вам не нужен сканер для решения этой проблемы.Что вам нужно:

  • Понимание «основного метода»
  • Понимание массива и «varargs»
  • Понимание разбора строки в другом объекте, таком как Double илиЦелое число
  • Простая математика (я думаю, что вы обладаете этим)

Если это домашнее задание, ваш учитель попросит вас прочитать то, что я упомянул выше.

0 голосов
/ 09 августа 2011
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 ;
}
...