Ich möchte in der Methode calculate() die Methode getArray ausführen.
Er schreibt mir in Zeile24 bei: getArray(arr[arr]); immer found char[], required: int.
Versteh ich aber nicht, ich will ja das arr Array übergeben. Mit getArray(arr[arr.length]) hab ichs auch schon probiert. Geht aber auch nicht.
Code:
import java.util.*;
public class String2{
String internal;
int basis;
String2(String in){
this.internal = in;
}
public int toInteger(int basis) {
if ( basis >= 2 && basis <= 16){
this.basis = basis;
return calculate();
}
return -1;
}
public int calculate(){
char[] arr = internal.toCharArray();
char[] temp1 = new char[arr.length];
int temp = 0;
int result = 0;
getArray(arr[arr]);
for (int i = 0; i < temp1.length; i++){
int ergebnis = getCalculate(temp1[i], i);
if (ergebnis == -1){
result = -1;
break;
}
result += ergebnis;
}
return result;
}
char getArray(char[] a){
char[] b = null;
int i = 0;
for (i = a.length-1; i >= 0; i--) {
b[i] = a[a.length-i-1];
}
return b[i];
}
int getCalculate(char value, int power){
int charAsInt = Character.digit(value,this.basis);
if (charAsInt == -1){
System.out.println("Nicht darstellbar");
return -1;
}
System.out.println("charasint: "+charAsInt+", value: "+value+" ,basis: "+ basis + " , power: " + power+ ", math pow: " + (int)Math.pow(basis,power));
return charAsInt * (int)Math.pow(basis,power);
}
}
Ein Array ist eine lange Reihe von kleinen Kisten, jede hat eine Nummer und in jede kannst du was reinpacken. In den Klammern gibst du an, an welche Kiste du ranmöchtest, also die Nummer der Kiste, das ist eine Zahl, also ein Integer. In dem Array
0: Peter
1: Hans
2: Otto
wäre bei der Nummer 2 z.B. Otto.
Als Position an der du den Wert haben möchtest, eine Liste anzugeben, hat keinen Sinn, vorallem nicht die Liste, in der du suchst. Mit arr[arr] tust du aber genau das. Schließlich ist arr dein Array.
Die Funktion getArray() erwartet offensichtlich einen char[]- Array als Parameter. Du kannst ihr also einfach das Array übergeben, die eckigen Klammern einschließlich Inhalt also weglassen.
Ein Array ist eine lange Reihe von kleinen Kisten, jede hat eine Nummer und in jede kannst du was reinpacken. In den Klammern gibst du an, an welche Kiste du ranmöchtest, also die Nummer der Kiste, das ist eine Zahl, also ein Integer. In dem Array
0: Peter
1: Hans
2: Otto
wäre bei der Nummer 2 z.B. Otto.
Als Position an der du den Wert haben möchtest, eine Liste anzugeben, hat keinen Sinn, vorallem nicht die Liste, in der du suchst. Mit arr[arr] tust du aber genau das. Schließlich ist arr dein Array.
Die Funktion getArray() erwartet offensichtlich einen char[]- Array als Parameter. Du kannst ihr also einfach das Array übergeben, die eckigen Klammern einschließlich Inhalt also weglassen.