Код Java для ведения статистики по массивам (с использованием методов), но с сообщениями об ошибкахJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Код Java для ведения статистики по массивам (с использованием методов), но с сообщениями об ошибках

Сообщение Anonymous »

Я новичок в Java. В настоящее время я прохожу вводный курс, поэтому при работе с моими программами я сталкиваюсь со многими ошибками. В частности, в этом коде возникают проблемы, когда я пытаюсь использовать массивы.
Цель состоит в том, чтобы вычислить и вывести среднее значение, медиану, минимум, максимум, диапазон и асимметрию. Нам пришлось сохранить файл в пакете под названием silvestri, а затем импортировать его в программу, чтобы прочитать числа и выполнить все математические функции, описанные выше.
В строках 57 и 70 есть ошибка «the тип выражения должен быть типом массива, но он разрешается как int"
Строка 35 содержит ошибку "этот метод должен возвращать результат типа double" и другое сообщение об ошибке "диапазон метода (double []) из статистики типов никогда не используется локально.
В строке 91 имеется ошибка: «мертвый код».
Она также выводит среднее значение. дважды, но не другие мои операторы sytem.out.println////(). Что я делаю не так?
Это мой код:

Код: Выделить всё

import java.util.Arrays;
import java.util.Scanner;

import silvestri.DataStore;

public class Statistics {
private final static String TITLE = "Statistics on an Array V1.0";
private final static String CONTINUE_PROMPT = "Do this again? [y/N] ";

//**********************************************
// Put as many methods you need here
private static double mean(double[] x) {
if (x.length == 0) {
return Double.NaN;`your text`
}
double sum = 0;

for (int i = 0; i < x.length; i++)
sum += x[i];
double mean = sum / x.length;
System.out.println("The mean is: " + mean);
return mean;

}

private static double median (double[] x) {
double median = 0;
Arrays.sort(x);
if (x.length % 2 != 0) {
median = x[x.length / 2];
System.out.println("The median is: " + median);
return median;
}
else {
median = (x[(x.length - 1) / 2] + x[x.length / 2]) / 2.0;
System.out.println("The median is: " + median);
return median;
}
}

private static double maximum (double[] x) {
double maximum = x[0];
double minimum;

for (int i = 1; i < x.length; i++) {
if (x.length[i] > maximum)
{
maximum = x[i];
}
}
System.out.println("The maximum is: " + maximum);
return maximum;
}

private static double minimum (double[] x) {
double maximum = x[0];
double minimum;
for (int i = 1; i < x.length; i++) {
if (x.length[i] < minimum)
{ minimum = x[i];
}
}
System.out.println("The minimum is: " + minimum);
return minimum;
}

private static double range (double[] x) {
//initializing maximum and minimum
double maximum = x[0];
double minimum = x[0];
double range = 0;
for (int i = 1; i < x.length; i++) {
if (x[i] > maximum) {
maximum = x[i];
}
if (x[i] < minimum) {
minimum = x[i];
}
System.out.println("The range is: " + range);
return range = maximum - minimum;
}
}
https://stackoverflow.com/
public static String skew (double[] x) {
double sum = 0;
double mean;
double median = median(x);

for (double num : x) {
sum += num;
}
mean = sum / x.length;

double difference  = Math.abs(mean-median);

if (mean > median) {
return "The data is right skewed";
}
// checking if the absolute difference is within 10E-6
else if (Math.abs(difference) < 10E-6) {
return "The data has no skew";
}
else {
System.out.println("The data is left skewed");
}
}

//**********************************************
// Start your logic coding in the process method
private static void process(Scanner input, String args[]) throws Exception {
double data[] = DataStore.getData();
double mean = mean(data);
// write a method called mean that's gonna pass the array doubles & it will return            average
double ave = mean(data);
}

//**********************************************
// Do not change the doThisAgain method
private static boolean doThisAgain(Scanner input, String prompt) {
System.out.print(prompt);
String doOver = input.nextLine();
return doOver.trim().equalsIgnoreCase("Y");
}

//**********************************************
// Do not change the main method
public static void main(String args[]) throws Exception {
System.out.println("Welcome to " + TITLE);
Scanner input = new Scanner(System.in);
do {
process(input, args);
} while (doThisAgain(input, CONTINUE_PROMPT));
input.close();
System.out.println("Thank you for using " + TITLE);
}

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

Подробнее здесь: https://stackoverflow.com/questions/783 ... r-messages
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»