2015-11-21 2 views
-3

Я был бы очень благодарен за любую помощь здесь.Как я могу выбрать массив на основе ввода пользователем?

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

Я знаю, как закодировать операции, просто я не знаю, как читать ввод пользователя.

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

Я борюсь с массивами и буду очень признателен за любую помощь. Вот как это должно функционировать ненадолго:

  1. Запросить ввод пользователя.
  2. Read входа
  3. Создание массива на основе ввода (в зависимости от типа данных и количества цифр)
  4. приступить к различным арифметическим операциям.

Надеюсь, что я могу найти помощь здесь. Заранее спасибо, Charmaine!

вот мой код до сих пор, с комментариями о том, где именно я нужна помощь

import java.util.Scanner; 

public class Array { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Amount of numbers "); //I need to code an array based on this answer 
    double zahl1 = scan.nextDouble(); 
    System.out.println("Type in the numbers "); // also how can I save n amount of numbers the user gives? 
    Scanner scan = new Scanner(System.in); 


     double summe = (zahl1 + zahl2 + zahl3); //I know how to code the rest just not with an unknown amount of number, this is with two numbers 
     double durchschnitt = ((summe)/3); 
     double produkt = zahl1 * zahl2 * zahl3; 
     double Kleinste; if (zahl1 < zahl2) { 
          if (zahl1 < zahl3) {System.out.println(zahl1 + " ist die Kleinste");} 
          else {System.out.println(zahl3 + "ist die kleinste");} 
          } 
          else { 
          if(zahl2 < zahl3){System.out.println(zahl2 + " ist die Kleinste");} 
          else System.out.println(zahl3 + " ist die Kleinste"); 
          } 
     double Größte; if (zahl1 > zahl2) { 
      if (zahl1 > zahl3) {System.out.println(zahl1 + " ist die Größte");} 
      else {System.out.println(zahl3 + "ist die Größte");} 
      } 
      else { 
      if(zahl2 > zahl3){System.out.println(zahl2 + " ist die Größte");} 
      else System.out.println(zahl3 + " ist die Größte"); 
      } 
    System.out.println("Die Summe betraegt " + summe); 
    System.out.println("Der Durchschnitt betraegt " + durchschnitt);  
    System.out.println("Das Produkt ist " + produkt); 

    }  

} 
+0

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

+0

Спасибо! Пожалуйста, проверьте код, который я опубликовал, возможно, вы можете помочь. –

ответ

0

Если вы не знаете, как начать, просто попробуйте написать код в порядке шагов, которые необходимо брать. Запросите ввод, (я предполагаю, что вы имеете в виду запрос пользователя, который вы могли бы просто сделать с помощью инструкции System.out.println()), а затем на самом деле чтение ввода, используя что-то вроде класса Scanner. Существует несколько способов обработки массива. Если вы не знаете, как начать, наименее сложный способ справиться с арифметикой будет просто серией операторов if-else. Это то, что более полезно для определения самостоятельно, вместо того, чтобы кто-то еще дал вам код, который вы не понимаете, как использовать.

+0

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

+0

Создайте экземпляр объекта Scanner следующим образом: Scanner in = new Scanner (System.in) и используйте метод Scanner nextInt() для фактического чтения на входе. – Blip

+0

У меня только что в моем коде (см. Оригинальное сообщение), но как это работает, когда несколько входов следует читать после друг друга? Затем сохраняется в массиве? Я теряюсь за идеи. –

0

Это должно заполнить ваш массив для вас. Надеюсь, он достаточно ясен. Если возникли какие-либо проблемы с объявлением массива, ознакомьтесь с этим местом: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

Надеюсь, это будет полезно.

Scanner scan = new Scanner(System.in); 
System.out.println(" number of numbers to be processed please:"); //asks for the total number of numbers that will be inputed. 
int totalNum = scan.nextInt(); //stores the number of numbers to be processed in the int totalNum 

array = new int[totalNum]; //creates an array, called array, of size totalNum; the number of numbers to be processed is the size of the array. 

for (int i = 0; i < totalNum; i++) 
{ 
    array[i] = scan.nextInt(); //fills the array with the numbers that the user inputs. 
} 
Смежные вопросы