ich möchte gern bei Eingabe von einem String, der 6 Wörter beinhaltet, das System.out so gestalten, dass für jede Zeile 2x Wörter ausgegeben werden.
Wie krieg ich das hin?
Java:
packageProggen1_2;importjava.util.Arrays;publicclass S32 {/**
* @param args
*/int kurz =3;staticint mittel =6;staticint lang =8;publicstaticint prüfen (String s){String array[]= s.split(" ");for(int i =0; i < array.length; i++){
array[i].trim();}//System.out.println(array.length);return array.length;}publicstaticvoid kurz (String s){String array[]= s.split(" ");for(int i =0; i < array.length; i++){
array[i].trim();System.out.printf("\n%1s", array[i]);}}publicstaticvoid mittel (String s){String array[]= s.split(" ");for(int i =0; i < array.length; i++){
array[i].trim();System.out.printf("\n%2s", array[i], array[i+1]);}}publicstaticvoid lang (String s){String array[]= s.split(" ");for(int i =0; i < array.length; i++){
array[i].trim();System.out.printf("\n%3s", array[i]);}}publicstaticvoidmain(String[] args){// TODO Auto-generated method stubSystem.out.println("Bitte gib einen Satz von mindestens 3 Wörtern ein:");String str = EAM.rString();switch(prüfen(str)){case3:kurz(str);break;case6:mittel(str);break;case8:lang(str);break;default:System.out.println("Das wars!");}}}
Noch eine andere Frage: Warum kann ich die Instanzvariablen kurz, mittel und lang unterschiedlich nutzen? Also int kurz = 3; und static int mittel = 6;
Wo ist der Unterschied von den beiden Variablen?
bedeutet, dass diese Variable für die gesamte Klasse nur einmal auftaucht.
Wenn du also zwei Instanzen hast, dann hat bei nicht-statischen Elementen jede eine eigene Variable. Statische Variablen sind für _alle_ Instanzen gültig. Man nennt sie deshalb auch Klassenvariablen.
Java:
S32 s1 =newS32();S32 s2 =newS32();
s1.kurz =44;System.out.println(s2.kurz);// 3
s1.mittel =55;// Compiler sollte hier eine Warnung geben - statischer Kontext//S32.mittel = 55; hat den gleichen Effekt!System.out.println(s2.mittel);// 55
Vielen Dank für die Erklärung.
Wie bekomme ich das hin, dass mir das Prog bspw. bei 6 Wörtern dann 3 Zeilen mit zwei Wörtern ausgibt und meinetwegen diese auch noch gesperrt sind? Gesperrt: G e s p e r r t
Ich habs noch mal anders versucht..
Java:
publicstaticvoid kurz (String s){String eins =null;String array[]= s.split(" ");for(int i =0; i < array.length; i++){
array[i].trim();for(int j =0; j<array.length; j++){
eins = array[1];System.out.print(eins.charAt(i+1)+" ");}System.out.printf("\n%1s", array[i]);}}
publicstaticvoidprint(String s){String[] arr = s.split(" ");for(int i =0; i < arr.length; i++){System.out.print( arr[ i ]);System.out.print(" ");if(( i +1)%2==0)System.out.println();}}