Det finns ingen " beräkna medianvärdet "-metoden redan inbyggt i Java , men det är inget hinder när det är dags att hitta det mittersta värdet i en uppsättning siffror . Du kan enkelt bygga din egen MedianFinder klass och ställ den åt sidan för alla de gånger i framtiden när du kommer att behöva bestämma medianvärdet
1 .
Skapa en MedianFinder Java -fil med hjälp av antingen en textredigerare eller Java Integrated Development Environment (IDE ) val . Klistra in följande i den :
import java. util. ArrayList ;
/**
* Denna klass kommer att hitta medianen av en förteckning över dubbel.
* @ author Kevin Walker
* /
public class MedianFinder { }
2 .
Tillsätt hitta metod för klassen genom klistra in följande :
/**
* Hitta medianen av en förteckning över dubbel.
* @ param data Datan
* @ return medianen.
* /
public static Dubbelrum hitta ( ArrayList
Fulltid ,
om ( data. size () % 2 == 1 ) {
//Om antalet poster i listan är inte ens .
//få det mittersta värdet .
//Du måste golvet resultatet av uppdelningen att släppa
//återstoden
result=data. get ( ( int ) Math. floor ( data. size ( ) /2 ) ) .
} else {
//Om antalet poster i listan är ännu .
//Get mitten två värden och genomsnittliga dem .
Dubbel lowerMiddle=data . get ( data. size ( ) /2 ) ,
Dubbel upperMiddle=data. get ( data. size ( ) /2-1) ;
result=( lowerMiddle + upperMiddle ) /2 ,
}
återvända resultat ,
}
Denna metod tar en ArrayList av "dubbla " värderingar, en Java data-typ för att lagra flyttal . Den använder sedan en operatör som heter " modulo " ( % ) för att hitta resten av en division med två och använder den för att avgöra om storleken på de data som är jämnt eller udda .
Om antalet av värden i satsen är udda , så lösningen är enkel : det helt enkelt passerar tillbaka det mittersta värdet . Om antalet värden som är jämn, det blir lite mer komplicerat . Programmet hittar de två talen närmast mitten och medelvärden dem att hitta ett antal precis halvvägs mellan dem .
3 .
Skapa en huvudsaklig metod för att testa hitta metod och försäkra att den fungerar som förväntat .
public static void main ( String [ ] args ) {
ArrayList
data. add ( 1,0 ) ,
data. add ( 2,0 ) ,
data . lägg (3,0) ,
//Ska skriva ut det mittersta värdet : 2
System. out. println ( här ( data )) ;
data. add . (4,0 ) ,
//Ska skriva ut genomsnittet av de två mittersta värdena : 2 och 3 , så 2,5
System. out. println ( här ( data )) ;
}
tips och varningar
Previous:nothing Next:hur man ringer lagrade procedurer i Visual Basic