Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class Spiewakk implements Comparable<Spiewakk>{
- String nazwisko;
- int numerStartowy;
- static int liczbaSpiewakow;
- public Spiewakk(String nazwisko){
- this.nazwisko = nazwisko;
- this.numerStartowy = ++liczbaSpiewakow;
- }
- abstract String spiewaj();
- @Override
- public int compareTo(Spiewakk o) {
- int zwrot = 0;
- if(this.zliczaj(this.spiewaj())-o.zliczaj(o.spiewaj())>0 ||this.zliczaj(this.spiewaj())-o.zliczaj(o.spiewaj())<0 ){
- zwrot = this.spiewaj().compareTo(o.spiewaj());
- return zwrot;
- }
- if(this.zliczaj(this.spiewaj())-o.zliczaj(o.spiewaj())==0) {
- if (this.nazwisko.compareTo(o.nazwisko) > 0|| this.nazwisko.compareTo(o.nazwisko) < 0) {
- zwrot = this.nazwisko.compareTo(o.nazwisko);
- return zwrot;
- }
- if (this.nazwisko.compareTo(o.nazwisko) == 0) {
- if (this.numerStartowy - o.numerStartowy > 0||this.numerStartowy - o.numerStartowy < 0) {
- zwrot = this.numerStartowy - o.numerStartowy;
- return zwrot;
- }
- }
- }
- return zwrot;
- }
- public String toString(){
- return "("+this.numerStartowy+") "+ this.nazwisko+ ": " + spiewaj();
- }
- public static Spiewakk najglosniej(Spiewakk spiewacy[]){
- int pozycja=0;
- for(int i = 0; i<spiewacy.length;i++){
- if(spiewacy[pozycja].zliczaj(spiewacy[pozycja].spiewaj())<spiewacy[i].zliczaj(spiewacy[i].spiewaj())){
- pozycja = i;
- }
- }
- return spiewacy[pozycja];
- }
- public int zliczaj(String zrodlo){
- int ilosc = 0;
- boolean[] omin = new boolean[zrodlo.length()];
- for (int i = 0; i <= zrodlo.length()-1; i++){
- if(omin[i] != true){
- ilosc++;
- for(int n = 0; n <= zrodlo.length()-1; n++)
- if(zrodlo.charAt(i) == zrodlo.charAt(n)) {
- omin[i] = omin[n] = true;
- }
- }
- }
- return ilosc;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement