Pytania i rozwiązania


/*

Napisz klasę o nazwie Tablica, która przy pomocy dostępnych metod pozwoli na inicjalizację tablicy dwuwymiarowej o

rozmiarze n x m wartościami w postaci dowolnych liczb całkowitych z zakresu [a, b] oraz na wyświetlenie k najczęściej

powtarzających się wartości w tablicy, jeżeli takie istnieją oraz ich pozycje, na których występują. Następnie dla tak

określonej klasy napisz klasę testową, która pozwoli przetestować oraz dopracować kod utworzonych metod.

Jeszcze trochę zostało...

*/

package zad1;

class Tablica {

int _tablica[][];

public Tablica() {

_tablica=null;

}

public void

set(int n, int m, int liczba) throws Exception {

if(checkIndexes(n, m)) _tablica[n-1][m-1]=liczba;

else throw new Exception("Index poza wymiarami tablicy"); }

public int

get(int n, int m) throws Exception {

if(checkIndexes(n,m)) return _tablica[n-1][m-1];

throw new Exception("Index poza wymiarami tablicy");

}

private boolean

checkIndexes(int n, int m) {

if(_tablica==null) return false;

if((_tablica.length<n)||(_tablica[0].length<m)) return false;

return true;

}

public void

create(int n, int m) { _tablica=new int[n][m]; }

public void

init() {

if(_tablica==null) return;

for(int i=0;i<_tablica.length;i++) for(int j=0;j<_tablica[0].length;j++) _tablica[i][j]=(int)(Math.random()*100);

}

public Licznik[]

getMostReapated(int k) throws Exception{

if(_tablica==null) throw new Exception("Tablica nie utworzona");

if(k<1) throw new Exception("Liczba nie powinna być mniejsza od jedynki");

Licznik liczby[]=new Licznik[k];

Licznik min;

for(int i=0;i<k;i++) liczby[i]=new Licznik();

for(int i=0;i<_tablica.length;i++) for(int j=0;j<_tablica[0].length;j++) {

int l=get(i+1, j+1);

min=liczby[0];

for(int m=0;m<k;m++) if(liczby[m].getLicznik()<min.getLicznik()) min=liczby[m];

int ile=getRepeatCount(l);

if(min.getLicznik()<ile) { min.setLiczba(l); min.setLicznik(ile); }

}

return liczby;

}

public int getRepeatCount(int liczba) throws Exception {

if(_tablica==null) throw new Exception("Tablica nie jest utworzona");

int licznik=0;

for(int i=0;i<_tablica.length;i++) for(int j=0;j<_tablica[0].length;j++) {

if(get(i, j)==liczba) licznik++;

}

return licznik;

}

class Licznik {

int liczba, licznik;

public Licznik() {

liczba=0;

licznik=0; }

public Licznik(Licznik l) {

liczba=l.getLiczba();

liczba=l.getLicznik();

}

public void setLiczba(int l) { liczba=l; }

public void setLicznik(int l) { licznik=l; }

public int getLiczba() { return liczba; }

public int getLicznik() { return licznik; }

public void add() { licznik++; }

}

}

…………………………………………………………………………………………

package we1;

public class We1 {

int tablica[][];

public We1() {

tablica=new int[10][10];

}

void init() {

for(int i=0;i<10;i++) for(int j=0;j<10;j++) tablica[i][j]=i*10+j;

}

void sortuj() {

int tmp;

for(int i=0;i<10;i++) for(int j=i;j<10;j++) {

if(tablica[j][0]<tablica[i][0]) {

for(int k=0;k<10;k++) {

tmp=tablica[j][k];

tablica[j][k]=tablica[i][k];

tablica[i][k]=tmp;

}

}

}

}

int pobierz(int x, int y) {

//if((x<tablica[0].length()) && (y<tablica[0].length)) return tablica[x][y];

return tablica[x][y];

}

}

package we1;

import junit.framework.TestCase;

public class We1Test extends TestCase {

We1 test;

protected void setUp() throws Exception {

test=new We1();

super.setUp();

}

protected void tearDown() throws Exception {

super.tearDown();

}

public void testWe1() {

assertNotNull(test);

}

public void testInit() {

test.init();

for(int i=0;i<10;i++) for(int j=0;j<10;j++) assertEquals(test.pobierz(i, j), i*10+j);

}

public void testSortuj() {

test.sortuj();

}

}



Wyszukiwarka

Podobne podstrony:
Proste pytania 1-ROZWIĄZANIE, KATECHEZA DLA DZIECI, QUIZY
ppj - wypisywanie liczb pierwszych w javie, Do nauki, Pytania, rozwiązania, prace
CBOS, Do nauki, Pytania, rozwiązania, prace
pytania rozwiązania psychologia
Występowanie soli w przyrodzie i ich zastosowanie w gospodarce człowieka, Do nauki, Pytania, rozwiąz
Pytania + rozwiązania, SESJA, SESJA
zagadnienia z psychologii wraz z opisami, Do nauki, Pytania, rozwiązania, prace
PC-pytania ROZWIAZANIE, 1
Proste pytania 1-ROZWIĄZANIE, KATECHEZA DLA DZIECI, QUIZY
ppj - wypisywanie liczb pierwszych w javie, Do nauki, Pytania, rozwiązania, prace
CBOS, Do nauki, Pytania, rozwiązania, prace
Pytania Q rozwiązane!(1)
Pytania Q rozwiązane!
Pytania z 12 z rozwiązaniami
zadanie-z-zakresu-prawa-administracyjnego-na-egzamin-radcowski-31.08.2012-r , EGZAMIN RADCOWSKI - py
egzamin-radcowski--z-2011-r.---zadanie---prawo-karne, EGZAMIN RADCOWSKI - pytania, odpowiedzi, rozwi
Pytania egzaminacyjne nieorganiczna rozwiazanie
immunologia 8 rozwiazane pytania

więcej podobnych podstron