Zdefiniuj klasę Tablica

0
import java.util.Random;

public class Tablica {
	
	private int [] tablica;
	private int liczbaElementow;
	
//_______________________________________GET i SET_____________________________________________
	
	public int getliczbaElementow() {
		return liczbaElementow;
	}
	
	public void setliczbaElementow(int LiczbaE) {
		this.liczbaElementow=LiczbaE;
	}
	public int[] getTablica() {
		return tablica;
	}
	
	
//_____________________________________Konstruktor_____________________________________________
	
	public Tablica(int LiczbaE) {
		setliczbaElementow(LiczbaE);
		this.tablica = new int[LiczbaE];
			
	}
	
	
	
//__________________Wypełnienie tablicy losowymi liczbami z podanego zakresu____________________
	
	public int[] WypelnienieDowolne(int liczba1, int liczba2) {
		Random rand = new Random();
			for(int i=0;i<getliczbaElementow();i++) {
				tablica[i]= rand.nextInt(liczba2-liczba1+1)+liczba1;
			}
			return tablica;
	}
	
	
//_____________________________Wyświetlenie tablicy w jednym wierszu______________________________	
	
public void PokazTablice() {
	
	for(int i = 0; i<getliczbaElementow(); i++) {
		System.out.print("["+getTablica()[i]+"]");
	}
	System.out.println("");
}
	
	
	
//_______________________________________Element maksymalny___________________________________________
	
	
	
public void elementMax() {
	int maxWartosc = Integer.MIN_VALUE;
	int minWartosc = Integer.MAX_VALUE;
	int wiersz=0;
	int wiersz1=0;
	 for(int i=0;i<getliczbaElementow();i++) {
		 if(maxWartosc<getTablica()[i]) {
			 maxWartosc=getTablica()[i];
			 wiersz =i;
		 }
	 }
	 
	 for(int i=0;i<getliczbaElementow();i++) {
		 if(minWartosc>getTablica()[i]) {
			 minWartosc=getTablica()[i];
			 wiersz1 =i;
		 }
	 }
	 System.out.println("Element maksymalny: "+maxWartosc+" |"+" Wiersz: "+wiersz + " Element minimalny: "+minWartosc+" |"+" Wiersz: "+wiersz1);
}
	
//________________________________ Czy podana wartość występuje___________________________________
	
	
	public  boolean czyWystepuje(int wartosc, int k) {
	
			for(int i = 0; i<=Math.min(k,tablica.length); i++) {
				if(tablica[i]==wartosc) {
					return true;				
			}
		}
		return false;
	}
	
//____________________________Czy jest różnowartościowa__________________________________________
	
	 public boolean czyRoznowartosciowa() {
	    boolean x = true;      
	        for(int i=0;i<tablica.length;i++) {
	            for(int j=i+1; j<=(tablica.length-1); j++) {
	                if(tablica[i]==tablica[j]) {
	                    x=false;
	                }
	            }
	             
	            for(int j=i-1; j>=0; j--) {
	                if(tablica[i]==tablica[j]) {
	                    x=false;
	                }
	            }   
	            }
	         
	        return x;
	    }

//______________________________________Usun Liczbe________________________________________________
	 
	 public int[] usunLiczbe(int wartosc) {
	    	
	    int[] x = new int[getTablica().length-1];
	    
	    for(int i=0;i<getTablica().length;i++) {
	    	if(getTablica()[i]!=wartosc) {
	    		x[i]=getTablica()[i];
	    		}
	   	}
	   
	    return x;
}
	
	
	
	
	
	
	
	public static void main(String[] args) {
	
		Tablica tab1 = new Tablica(5);
		tab1.WypelnienieDowolne(1,6);
		
		System.out.println("Tablica");
		tab1.PokazTablice();
		System.out.println();
		
		tab1.elementMax();
		tab1.usunLiczbe(1);
		
		System.out.println("Czy podany element wystepuje = "+ tab1.czyWystepuje(3,1) );
		System.out.println("Tablica jest roznowartosciowa = " + tab1.czyRoznowartosciowa());
	
		

	}

}

Problemy.
Nie działa mi usunięcie liczby czyli podpunkt 7 z zadania 1
Oraz zadanie 1. podpunkt 8... ktoś ma pomysł?

0

Człowieku nie działa, bo źle to robisz. Zamiast modyfikować tablicę, ty modyfikujesz zmienną x.

0

naprawiłem. Działa. Ma ktoś pomysł na 8?

0
spartakusV napisał(a):

naprawiłem. Działa. Ma ktoś pomysł na 8?

posortuj tablicę i potem wywal po 1 elemencie z par sąsiadujących, które są takie same.

0

Mam inny pomysł. przepisz elementy do zbioru i z powrotem do (mniejszej) tablicy.

0

zrobione ;) dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1