2015-02-19 5 views
-3

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

import javax.swing.*; 

public class Temps { 
    private int temp[] = new int[5]; 
    String inputStr; 
    int inputInt = 0; 

    public void startApp() 
    { 
     for (int i = 0; i < temp.length; i++) 
     { 
      inputStr = JOptionPane.showInputDialog("Enter new temp."); 
      inputInt = Integer.parseInt(inputStr); 
      temp[i] = inputInt; 
     } 

    } 


    public static void main(String[] args) 
    { 
     Temps obj = new Temps(); 
     obj.startApp();  

    } 
} 

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

+0

начать думать о том, как вы бы вычислить среднее/режим/макс/мин и создать метод для каждого – beresfordt

+0

бы я поставил метод под государственной статической силы основных или над ним как часть startApp()? –

+1

Позиция метода в классе не имеет решающего значения для функционирования метода. Я бы рекомендовал один метод для каждой вещи, которую вы пытаетесь сделать, например; calculateMean, calculateMode, getMinimumTemp, getMaximumTemp – beresfordt

ответ

0

Я выполнил для вас средний метод, чтобы вы могли видеть, как это должно быть сделано. Я предполагаю, что вы можете выяснить остальное самостоятельно, основываясь на моем коде. Примечание: это не самый эффективный или элегантный способ сделать это, но он выполняет свою работу. Удачи.

import javax.swing.*; 

public class Temps { 
    private static int temp[] = new int[5]; 
    String inputStr; 
    int inputInt = 0; 

    public void startApp() { 
     for (int i = 0; i < temp.length; i++) { 
      inputStr = JOptionPane.showInputDialog("Enter new temp."); 
      inputInt = Integer.parseInt(inputStr); 
      temp[i] = inputInt; 
     } 
    } 

    public static int meanMethod(int temp[]) { 

     int mean, sum; 
     mean = 0; 
     sum = 0; 

     for (int i = 0; i < temp.length; i++) { 
      sum += temp[i]; 
      if (i == (temp.length - 1)) { 
       mean = sum/temp.length; 
       return mean; 
      } 
     } 
     return mean; 
    } 


    public static void main(String[] args) { 
     Temps obj = new Temps(); 
     obj.startApp(); 
     System.out.println(obj.meanMethod(temp)); 

     /* 

     You could do JOptionPane instead of System.out.println here. Just do: 

     JOptionPane.showMessageDialog(null, obj.meanMethod(temp)); 

     */ 

    } 
} 
0

Я дам вам один способ, чтобы вы начали. Предположим, что ваш массив int[] nums = {1,1,2,2,3};

Мы знаем, что среднее значение вычисляется как (1 + 1 + 2 + 2 + 3)/5 = 9/5 = 1,8, а вот метод, который делает именно то, что:

public double calculateMean(int[] nums) { 
    double sum = 0; //<--if you use int here, your value would be 1.0 not 1.8 
    for(int i = 0; i < nums.length; i++) { 
     sum += nums[i]; 
    } 
    return sum/nums.length; 
} 

вы можете использовать его в основной метод:

int[] nums = {1,1,2,2,3}; 
double d = calculateMean(nums); 
System.out.println(d); //the result is 1.8