Hallo,
neues noch unbekanntest Forum in dem ich mich hoffentlich bald zurechtfinde =)
Ich habe eine Problem und komme nicht wirklich weiter:
Unsere Aufgabe bestand darin ein Java Programm zu schreiben (ohne Hilfsbibliotheken etc. ) mit dem man Strings die man über console mit java Arraystring 232.323 3.233 etc. eingibt ,an die StringToDouble Methode schickt ,den String auseinandernimmt (siehe meine Idee im Programm im Anhang) und den als double Wert an ein Array zurückschickt.
Ich würde gerne an meiner Lösung oder zumindest die Idee bleiben,nur...:
Es wird bei dem Programm die Vorkomma Zahlsumme nicht ausgerechnet bzw. ned korrekt zurückgegeben und ich frag mich wieso. Rein von der Logik her finde ich keine grossartigen Fehler (kann mich auch irren),daher dachte ich es steckt eher an der Programmierung und ich frag mal nach.
Wäre zumindest für einen Hinweis ,dann kann ichs selber nachlesen,dankbar woran es wirklich hakt.
So siehts dann aus wenn ich es ausführe:
neues noch unbekanntest Forum in dem ich mich hoffentlich bald zurechtfinde =)
Ich habe eine Problem und komme nicht wirklich weiter:
Unsere Aufgabe bestand darin ein Java Programm zu schreiben (ohne Hilfsbibliotheken etc. ) mit dem man Strings die man über console mit java Arraystring 232.323 3.233 etc. eingibt ,an die StringToDouble Methode schickt ,den String auseinandernimmt (siehe meine Idee im Programm im Anhang) und den als double Wert an ein Array zurückschickt.
Ich würde gerne an meiner Lösung oder zumindest die Idee bleiben,nur...:
Es wird bei dem Programm die Vorkomma Zahlsumme nicht ausgerechnet bzw. ned korrekt zurückgegeben und ich frag mich wieso. Rein von der Logik her finde ich keine grossartigen Fehler (kann mich auch irren),daher dachte ich es steckt eher an der Programmierung und ich frag mal nach.
Wäre zumindest für einen Hinweis ,dann kann ichs selber nachlesen,dankbar woran es wirklich hakt.
Code:
//Öffentliche Klasse Arraystring
public class Arraystring {
//öffentliche statische Methode swaprows
public static double [] [] swaprows (double [] [] a,int i,int j){
int k=a.length;
double [] [] c= new double [k] [k];
if (i>=k || j>=k|| j==i ) return a;
for(int d=0; d<k ; d++){
c [i] [d] = a [i] [d];
a [i] [d] = a [j] [d];
a [j] [d] = c [i] [d];
}
return a;
}
//öffentliche statische Methode addrows
public static double [] [] addrows(double [] [] a, int i,int j,double f){
int k=a.length;
if(i>=k || j>=k) return a;
if(j==i){
for (int d=0;d<k;d++){
a [i][d] = a [i] [d] + (f* a [i] [d]);
}
return a;
}
else
for (int d=0;d<k;d++){
a[i] [d] = a [i] [d] + (f * a [j] [d]);
}
return a;
}
//öffentliche statische Methode StringToDouble
public static double StringToDouble (String s) {
double t=0,r=0,a=0,g=0.1,h=0.1,b=0.0;
double fa=10, n=s.length();
char c=0;
for (int i=0; i<n;i++){
c = s.charAt(i);
a = c - '0';
t *=fa + a;
if (a<=9 && a>=0 || c=='.' || c==','){
if (c=='.' || c==','){
for (i+=1;i<n;i++){
c = s.charAt(i);
b = c - '0';
r+=(b*g);
g=g*h;
}
}
}
}
return r+t;
}
//Hauptmethode.
public static void main (String [] args) {
int q=args.length/3,l=0;
double c [] [] = new double [q] [q];
for(int u=0; u<q; u++){
for(int v=0; v<q ; v++){
c [u] [v]= StringToDouble(args [l++]);
}
}
for (int p=0;p<q;p++){
for (int o=0;o<q;o++){
System.out.println(c [p] [o]);
}
}
}
}
So siehts dann aus wenn ich es ausführe:

