Frage von hamtata, 29

Wie kürzt man arrays und sucht elemente im array in java?

Hallo! Ich habe die Aufgabe einen Code in Java zu schreiben, bei dem man ein Array angibt, das aus Zahlen besteht und einem Punkt, der eine Kommastelle darstellen soll. Die Zahl soll dann mathematisch gerundet werden. Man muss zudem noch angeben auf welche Stelle man runden will. Falls man z.B. 2 eingibt wird auf die Zehnerstelle gerundet. Am Ende wird die gerundete Zahl wieder als Array ausgegeben. Ich habe mir das so vorgestellt, dass zuerst im Array nach dem Punkt gesucht wird, danach wird das Array so geschnitten, dass nur noch die benötigten Nachkommastellen im neuen Array vorkommen. Das alte Array wird zur Berechnung verwendet. Ich habe das mit der Suchfunktion bereits nachgeschlagen, aber es funktioniert nie im Code. Ich freue mich über jede Hilfe!

public class mathrunden {
public static void main(String[] args) {

    char[]a= {'1','2','3','.','4','5'};
    a = new char[5];
    
    int rund;
    System.out.print("Rundungsangabe: ");
    rund = IO.readInt();
    
    static int search (char[]a, char '.'){
        int pos = a.length - 1;
        while (pos >= 0 && a[pos] != '.') pos--;
        return pos;
    }

}

}

Expertenantwort
von KnusperPudding, Community-Experte für Java, 7

Soll jetzt nicht böse gemeint sein, aber... kann es sein, dass vielleicht doch noch ein erhebliches Problem an Verständnis der Programmiersprache besteht?

Hier deklarierst du deine Char-Array und initialisierst diese bereits mit deinen Werten:

char[] a = {'1', '2', '3', '.', '4', '5'};        

und hier in der darauffolgenden Zeile überschreibst du deine Werte indem du eine neue Instanz deiner CharArray erstellst:

a = new char[5];

Hier:

static int search (char[]a, char '.'){..}

definierst  du diese

Methode innerhalb

einer Methode. Das geht nicht.

genauso kannst du als Parameter nicht einfach: '.' verwenden. es muss schon ein Variablen-Name sein.

Korrigiere dein Beispiel und man kann dir beim nächsten Schritt helfen.

Keine passende Antwort gefunden?

Fragen Sie die Community