так моя программа находит среднее значение, медиану, моду, TAND Деву квартиль найти и сохранить резюме 5 NUM в виде массива (min,max,mid,upper and lower quartile
)Проблемы с возвращением INT [], чтобы основные и с режимом
Основной только создает a randNum[]
и печатает методы.
Метод в режиме должен возвращать -1, если нет режима, если существует несколько режимов.
В итоге 5 NUM в получении несовместимых типов «found int[] required int
»
Как отправить массив целых чисел в основной ??
import java.util.*;
class Statistics
{
//==============================================================
//---------------------------MEAN--------------------------------
public static double mean(int [] v)
{
double sum= 0 ;
double mean = 0 ;
for(double w : v)
{
sum += w;
}
mean = sum/v.length;
return mean;
}
//==============================================================
//-----------------------------MODE-----------------------------
public static int mode(int[] v)
{
int modeCount = 0,mode = 0, currCount = 0,currElement;
for (int candidateMode : v)
{
currCount = 0;
for (int element : v)
{
if (candidateMode == element)
{
currCount++;
}
}
if (currCount > modeCount)
{
modeCount = currCount;
mode = candidateMode;
}
}
return mode;
}
//==============================================================
//------------------------MIN/MAX/MEDIAN --------------------
public static int min(int[] v)
{
int min1 = v[0];
return min1;
}
public static int max(int[] v)
{
int max1 = v[4];
return max1;
}
public static int median(int[]v)
{
int mid = v.length/2;
return mid;
}
//==============================================================
//-------------------------Standard Deviation-------------------
public static double stanDev(int[] v)
{
double val = 0,adding = 0, divide = 0, answer = 0, square= 0 ;
double sum= 0 ;
double mean = 0 ;
for(double w : v)
{
sum += w;
}
mean = sum/v.length;
for (double r : v){
val = r - mean;
square = val* val;
adding += square ;
divide = adding /100;
answer = Math.sqrt(divide);
}
return answer;
}
//==============================================================
//-------------------------Quartile-----------------------------
public static int quartile(int[] v, int upOrLow)
{
int[] vv = new int[v.length];
System.arraycopy(v, 0, vv, 0, v.length);
Arrays.sort(vv);
int n = (int) Math.round(vv.length * upOrLow/100);
return vv[n];
}
//==============================================================
//-------------------------5 NUM SUMMARY-------------------------
public static int summ(int [] v)
{
int[] vv = new int[v.length];
System.arraycopy(v, 0, vv, 0, v.length);
Arrays.sort(vv);
int n = (int) Math.round(vv.length * 25/100);
int n1 = (int) Math.round(vv.length * 75/100);
int n2 = v[0];
int n3 = v[49];
int n4 = v[99];
int[] vals1 = {n,n1,n2,n3,n4};
return vals1;
}
}
//==============================================================================
//===================MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN========================
//================================================================================
import java.util.*;
public class Main
{
public static void main(String [] args)
{
Random rand = new Random();
int [] v = new int[100];
for(int i = 0; i < v.length ; i++)
{
v[i] = rand.nextInt(489)+10;
}
Arrays.sort(v);
System.out.println(Arrays.toString(v));
System.out.println("The mean is: " + Statistics.mean(v));
System.out.println("The mode is: " + Statistics.mode(v));
System.out.println("The min value is: " + Statistics.min(v));
System.out.println("The max value is: " + Statistics.max(v));
System.out.println("The max value is: " + Statistics.median(v));
System.out.println("The Standard Dev. value is: " + Statistics.stanDev(v));
System.out.println("The lower quartile value is: " + Statistics.quartile(v,25));
System.out.println("The upper quartile value is: " + Statistics.quartile(v,75));
System.out.println("The number summary is: " + Statistics.summ(v));
}
}
Объявляя его как 'public static int [] summ (int [] v)'? – Marvin
aahaha !!! Спасибо ! lol ... знаете ли вы способ сделать этот способ случайно? –
@JeremiahParrack Что делать, если есть более одного номера, который имеет самые повторяющиеся экземпляры? Вы получите только первый найденный? – Ediac