hvordan man beregner en mode i java

Indlæg af Hanne Mølgaard Plasc     opdateret: 2011-09-15

Tilstanden er en matematisk udtryk , der blot refererer til de mest almindelige nummeret i et sæt . Samtidig med at finde den tilstand i Java kan synes at være en simpel opgave i første omgang , kan det vise sig at være lidt mere vanskeligt , når du kommer op mod alle vanskeligheder af problemet
1 .
oprette en klasse med navnet " ModeFinder " og opbevar det i en fil med navnet " ModeFinder. java . " Indsæt følgende tekst i det at definere klassen :
import java. util. ArrayList ;
import java . util. Hashtable ;

/**
* Denne klasse vil finde tilstand, eller mest fælles værdi i en liste med tal
* @ forfatter Kevin . Walker
* /
public class ModeFinder {
/**
* Denne returnerer funktionen ( r ) af værdierne i den givne ArrayList .
* @ param list data til at finde den tilstand i.
* @ return den eller tilstande .
* /
offentlige ArrayList getMode ( ArrayList liste ) { }

public static void main ( String [ ] args ) { }
}
2 .
befolker hash tabellen . Inde i parentes af " getMode -metoden , skal du tilføje følgende kode :
hashtabelsamling begivenheder=nye hashtabelsamling () ;
Heltal tælle ;

//Byg en hashtabelsamling , der knytter hvert nummer fra listen med det antal gange, det sker
for . ( Double d : liste ) {
count=occurances. get ( d ) ;
if ( count == null ) {
count=0 ;
}
count +=1 ;
begivenheder. sætte ( d , count) ;
}
Going linje for linje , dette skaber en hashtabelsamling navnet " hændelser ". Forekomsterne hashtabelsamling vil holde to værdier , der er bundet til hinanden . Den første bliver antallet fra sættet gik ind i metoden . Den anden vil holde antallet af gange , at antallet forekommer i listen over indtastede værdier .
Derefter går gennem hele listen , der er blevet vedtaget i. Hvis værdien ikke allerede i hashtabelsamling , det tilføjer den til hashtabelsamling med en optælling af én. Hvis det er allerede i hashtabelsamling , det tilføjer en til optælling af antallet af gange, det har vist sig .
3 .
Find de mest numrene i hashtabelsamling med de højeste antal værdier . Tilføj følgende kode lige under den sidste del af koden og stadig inden for den getMode metode :
ArrayList resultater=new ArrayList () ;
int highestCount=0 ;

//For hver fordoblet i hashtabelsamling . hvis det er den hyppigste , klare
//de tilstande listen og tilføje denHvis det er bundet til de hyppigst forekommende , føje det til
//tilstandene listen
for ( Double d : occurances. keySet () ) . {
if ( occurances. get ( d ) > ; highestCount ) {
highestCount=occurances. get ( d )
results. clear ( ) ;
results. add ( d ) ;
} else if ( occurances. get ( d ) == highestCount ) {
results. add ( d ) ;
}
}
returnere resultater ;
4 .
Oprette en test ansøgning i den primære metode . Skriv følgende kode i den vigtigste metode :
ArrayList data=ny ArrayList () ;
data. add
( 3,0 ) ;
data. add ( 5. 6) ;
data. add ( 2. 2) ;
data. add ( 3,0 ) ;
data. add ( 3,0 ) ;
data. add (5. 6 ) ;
data. add ( 2. 2) ;
data. add ( 3,0 ) ;
data. add ( 2. 2) ;
data. add ( 2. 2) ;


ArrayList resultater=ny ModeFinder ( ) . getMode ( data ) ;
System. out. println ( " The modes er : ") ;
for ( Double d : resultater ) {
System. out. println ( d )
}
Dette skaber en ArrayList af testdata , udfyldes det med en gruppe af tal , og derefter forsøger at finde den tilstand , at udskrive den fulde liste over tilstande opdaget . I dette tilfælde er de tilstande 3,0 og 2,0 , da de hver forekommer fire gange .


Previous:hvordan man åbner den Inspiron 640 laptop Next:hvordan man bruger påstande i java 1,4



 

Kommentarer

Code:
change