Methoden Sys-Out

PsykoPunkZ

Mitglied
Hi,

habe folgenden Code:

Java:
public class ArrayCount {
	
	public int arrayCount9(int[] nums) {
		nums = new int[10];
		int counter = 0;
		
		for (int i = 0;i <= nums.length; i++) {
			if (nums.length == 9) {
				counter++;
			}
		}
		return counter;
	}

	public static void main(String[] args) {
		System.out.println(...);
	}
}


Mein Problem:

Ich komme einfach nicht darauf was in die Sys-Out rein muss!

Das programm soll die anzahl der 9er in der array ausgeben. Und ich will die Array elemente variabel in der sysout eingeben können. Kann mir bitte jemand helfen?

Gruß Psyko
 

Volvagia

Top Contributor
Das bekommst du so aber nicht hin, du lässt nums sofort auf ein anderes Array zeigen, überprüfst die Array-Länge auf 9 und lässt die for 1x zu viel ausführen. (Für deinen Wunsch.)
 

PsykoPunkZ

Mitglied
Okay könntest du mir bitte das so ändern? Ich komme da irgendwie nicht weiter
Vielen Dank


@faetzminator
hab ich schon probiert aber wie schreibe ich die array elemente rein?
 

bananajoe

Mitglied
B

bone2

Gast
Dieser Code ist sinnfrei, zumal die Anzahl bereits in der Variable length drinsteht. Oder übersehe ich hier etwas?
Ja, das der Code ziemlicher Blödsinn ist und eigentlich die anzahl der neunen in dem Array von Zahlen zählen soll.

Du übergibst ein fertig gefülltest Array als Parameter.
In der Methode benutzt du dann nur eine schleife von i=0 bis array.length-1 und vergleichst array mit 9. dann erhöhst du den counter
 

PsykoPunkZ

Mitglied
Java:
public class ArrayCount {
	
	public static int arrayCount9(int[] nums) {
		nums = new int[] {3,2,5,9,6,9,2,4,9,0};
		int counter = 0;
		
		for (int i = 0;i < nums.length-1; i++) {
			if (nums.equals(9)) {
				counter++;
			}
		}
		return counter;
	}

	public static void main(String[] args) {
		System.out.println(arrayCount9...?);
	}
}

ich bekomms nich hin -.-
 

TKausL

Top Contributor
Java:
public class ArrayCount {
    
    public static int arrayCount(int num) {
        nums = new int[] {3,2,5,9,6,9,2,4,9,0};
        int counter = 0;
        
        for (int i = 0;i < nums.length; i++) {
            if (nums[i] == num) {
                counter++;
            }
        }
        return counter;
    }
 
    public static void main(String[] args) {
        System.out.println(arrayCount(9));
    }
}

So würde es zuminest ein wenig sinn ergeben...
 

PsykoPunkZ

Mitglied
danke dir... :( ich hasse es wenn es nich funzen will...

das problem is das die methode aber so heissen muss!:

Java:
public static int arrayCount9(int[] nums) {}
 

Volvagia

Top Contributor
Java:
public class ArrayCount {
    
    public static int arrayCount(int[] nums) {
        int counter = 0;
        
        for (int i = 0;i < nums.length; i++) {
            if (nums[i] == 9) {
                counter++;
            }
        }
        return counter;
    }
 
    public static void main(String[] args) {
        int[] nums = new int[] {3,2,5,9,6,9,2,4,9,0};
        System.out.println(arrayCount(nums));
    }
}

So?
Bei der Übergabe von Arrays (eigendlich jeden Nicht-Read-Only-Objekt) musst du aber aufpassen, die Methode könnte auch leicht die Werte darin verändern.
 

PsykoPunkZ

Mitglied
Java:
public class ArrayCount {
    
    public static int arrayCount(int[] nums) {
        int counter = 0;
        
        for (int i = 0;i < nums.length; i++) {
            if (nums[i] == 9) {
                counter++;
            }
        }
        return counter;
    }
 
    public static void main(String[] args) {
        int[] nums = new int[] {3,2,5,9,6,9,2,4,9,0};
        System.out.println(arrayCount(nums));
    }
}

So?
Bei der Übergabe von Arrays (eigendlich jeden Nicht-Read-Only-Objekt) musst du aber aufpassen, die Methode könnte auch leicht die Werte darin verändern.


Super danke jetz geht es :D jetz versteh ich auch warum es falsch war
 

Neue Themen


Oben