Hey,
ich bin dabei ein Programm zu schreiben, welches erst zufallszahlen entwickelt, diese dann als string hintereinander schreibt und damit eine nxn matrix bildet. bsp eingabe 3 (3x3 matrix soll gebildet werden). damit erstellt das programm 9 zufallszahlen.
diese werden als ein string dann von der methode bildung an eine methode hauptdiagonale weiter gegeben. diese berechnet dann die hauptdiagonale.
Den quelltext füge ich gleich darunter ein, nachdem ich mein problem geschildert habe
also wenn ich das programm komplett mit den verschiedenen methoden laufen lasse kommt nur blödsinn raus. die einzelnen methoden sind aber richtig. wenn ich dieses alles in einer mainmethode laufen lassen funktioniert es. nur ist es dann total unübersichtliche. vllt könnt ihr mir helfen, dass ich das doch in verschiedenen methoden laufen lassen kann.
also dann danke sehr
lg mrlong
ich bin dabei ein Programm zu schreiben, welches erst zufallszahlen entwickelt, diese dann als string hintereinander schreibt und damit eine nxn matrix bildet. bsp eingabe 3 (3x3 matrix soll gebildet werden). damit erstellt das programm 9 zufallszahlen.
diese werden als ein string dann von der methode bildung an eine methode hauptdiagonale weiter gegeben. diese berechnet dann die hauptdiagonale.
Den quelltext füge ich gleich darunter ein, nachdem ich mein problem geschildert habe
also wenn ich das programm komplett mit den verschiedenen methoden laufen lasse kommt nur blödsinn raus. die einzelnen methoden sind aber richtig. wenn ich dieses alles in einer mainmethode laufen lassen funktioniert es. nur ist es dann total unübersichtliche. vllt könnt ihr mir helfen, dass ich das doch in verschiedenen methoden laufen lassen kann.
Java:
public class test1 {
public static int eingabe(){
double anzahl=4 ;
double zeichen=Math.pow(anzahl,2);
int b=0;
b=(int)zeichen;
return b;
}
public static String bildung() {
String matrix=new String("");
String b=new String("");
int a=0;
double i=eingabe();
int zeichen=(int)i;
while(a<zeichen){
double dezimalZahl = Math.random();
dezimalZahl=dezimalZahl*100-1;
int ganzZahl = (int)Math.round( dezimalZahl);
b= String.valueOf(ganzZahl+" ");
matrix=matrix+b;
a++;
}
return matrix;
}
public static int hauptdiagonale() {
String Matrix= new String("");
Matrix=bildung();
double zeichen=eingabe();
zeichen=Math.pow(zeichen, 0.5);
zeichen=(int)zeichen;
int d=0;
int summe=0;
int b=0;
int lauf=0;
String[] test= Matrix.split("[ ]");
while (lauf < test.length ) {
b=Integer.parseInt(test[lauf]);
if (lauf==d*(zeichen+1)){
summe=summe+b;
d++;
}
else{}
lauf++;
}
return summe;
}
public static int nebendiagonale(){
String Matrix= new String("");
Matrix=bildung();
int zeichen=eingabe();
int d=1;
int summe=0;
int b=0;
int lauf=0;
String[] test= Matrix.split("[ ]");
while (lauf < test.length ) {
b=Integer.parseInt(test[lauf]);
if (lauf==d*(zeichen-1)&&(d<=zeichen)){
summe=summe+b;
d++;
}
else{}
lauf++;
} return summe;
}
public static void main(String[] args){
int Summe=hauptdiagonale();
System.out.println("Summe der Hauptdiagonalen: "+Summe);
int nebensumme=nebendiagonale();
System.out.println("Summe der Nebendiagonalen: "+nebensumme);
String Matrix= new String("");
Matrix=bildung();
System.out.println(Matrix);
double h=eingabe();
int lauf=0;
double d=1;
String c= new String ("");
String[] test=Matrix.split("[ ]");
while (lauf<test.length){
c=test[lauf];
if (c.length()==1){
if(lauf==d*(Math.pow(h, 0.5))-1){
System.out.println(test[lauf]+" ");
d=d+Math.pow(h, 1/2);
}
else System.out.print(test[lauf]+" ");
lauf++;
}
else {
if(lauf==d*(Math.pow(h, 0.5))-1){
System.out.println(test[lauf]+" ");
d=d+Math.pow(h, 1/2);
}
else System.out.print(test[lauf]+" ");
lauf++;}
}
}
}
also dann danke sehr
lg mrlong
Zuletzt bearbeitet von einem Moderator: