hur man beräknar ett läge i Java

Läget är en matematisk term som refererar helt enkelt till de vanligaste nummer som anges i en uppsättning . Samtidigt hitta läget i Java kan tyckas vara en enkel uppgift i början , kan det visa sig vara lite svårare när du kommer upp mot alla krångligheter av problemet

Du behöver : .
tillgång till Internet.

1 .
Skapa en klass som heter ” ModeFinder ” och förvara den i en fil som heter ” ModeFinder. java . ” Sätt in följande text i det att definiera klass :

import java. util. ArrayList ;
import java . util. Hashtable ;

/**
* Denna klass hittar läget , eller mest gemensamt värde i en lista med tal
* @ author Kevin . Walker
* /
public class ModeFinder {

/**
* Detta returnerar de (t ) av de värden som i den givna ArrayList .
* @ param lista De uppgifter att hitta det läge i.
* @ return läge eller lägen .
* /
offentliga ArrayList getMode ( ArrayList lista ) { }

public static void main ( String [ ] args ) { }

}
2 .
Befolka hash-tabell . Inne i parentes av ” getMode ” metod , lägg till följande kod :

Hashtable händelser=ny Hashtable () ;
heltal räkna ,

//Skapa en hashtable som mappar varje nummer från listan med antalet gånger det inträffar
för . ( Double D: Förteckning ) {
count=occurances. get (d ) ;
if ( count == null ) {
count=0 ; }

räkna +=1 ;
händelser . sätta ( d , räkna ) ,
}

Going rad för rad , skapar detta en Hashtable heter ” händelser . ” De händelser hashtable kommer att hålla två värden som är knutna till varandra . Den första kommer att vara nummer från den inställda skickas till metoden . Den andra kommer att hålla antalet gånger som nummer förekommer i förteckningen över angivna värden .

Därefter går igenom hela listan som har gått i. Om värdet inte redan finns i hashtable , lägger det till det i hashtable med räkna till ett . Om det redan är i hashtable , lägger det en till räkningen på hur många gånger det har dykt upp.
3 .
Hitta de siffrorna i hashtable med de högsta värdena räknas . Lägg till följande kod precis under den sista delen av koden och fortfarande inom getMode metoden :

ArrayList resultat=new ArrayList () ;
int highestCount=0 ;

//För varje dubbel i hashtable , om det är det vanligaste , tydliga
//lägena listan och lägga till den . Om det är på delad vanligaste , lägga till det
//lägena listan
för ( 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 ) ; }

}

återvända resultat ,
4 .
Skapa ett testprogram i de viktigaste metoden . Skriv in följande kod i den huvudsakliga metoden :

ArrayList data=new 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 resultat=new ModeFinder () . getMode ( data ) ;

System. out. println (” lägen är : ”) ;
för ( Double d : resultat ) { System. out. println
( d ) ; }

Detta skapar en ArrayList av testdata , fylls den med en grupp med nummer och sedan försöker hitta läge att skriva ut fullständig lista över lägen upptäckt . I detta fall lägena 3,0 och 2,0 , eftersom de varje inträffar fyra gånger .

Visited 1 times, 1 visit(s) today

コメント

タイトルとURLをコピーしました