Ausgabe von einem Buchstaben

@Eddie
jetzt nimm mal meinen code und gucke, was da herauskommt...
aber nimm ihn 1:1. (!)

@Klaus
hab deinen nicht ausprobiert, dein ansatz ist sicher nicht falsch ;-)
 
Code:
public class Aausgabe {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub


		public static boolean isEven(Integer integer){
			
			if ( integer.intValue() % 2 == 0 ){            	
	       	 return true;
	        }
			return false;
		}
		public static void count() {

			int j = 0;
			char buchstabe = 'A';
			int zeilenAnzahl = 5;
			StringBuffer sb = new StringBuffer();
				
			for (int i=0; i<zeilenAnzahl; i++){
				
				j = sb.length();
				sb.append(buchstabe);
				
	            if( isEven(sb.length())){
	             sb.append(buchstabe);
	            }
	            System.out.println(sb.toString());

			}
		}
	}

}
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Illegal modifier for parameter isEven; only final is permitted
Syntax error on token "(", ; expected
Syntax error on token ")", ; expected
Void methods cannot return a value
Void methods cannot return a value
Syntax error on token "void", @ expected
count cannot be resolved to a type
Syntax error, insert "enum Identifier" to complete EnumHeaderName
Syntax error, insert "EnumBody" to complete BlockStatement

at Aausgabe.main(Aausgabe.java:11)
 
Code:
public class Test {
	
	
	
	public static void main(String[] args) {
		count();
	}

	public static void count() {

		int j = 0;
		char buchstabe = 'A';
		int zeilenAnzahl = 5;
		StringBuffer sb = new StringBuffer();
			
		for (int i=0; i<zeilenAnzahl; i++){
			
			j = sb.length();
			sb.append(buchstabe);
			
            if( isEven(sb.length())){
             sb.append(buchstabe);
            }
            System.out.println(sb.toString());

		}
	}
	public static boolean isEven(Integer integer){
		
		if ( integer.intValue() % 2 == 0 ){            	
       	 return true;
        }
		return false;
	}
}

Kompilieren mit Java 1.5
 
BTW:
Eure VAR j ist noch flüssiger als flüssig
Also überflüssig :D

Ihr setzt sie zwar auf die Länge von sb, aber IsEven ruft Ihr dann wieder mit sb.length() auf!! ;-)

Gruß
Klaus
 
jau das geht wenn du vielleicht das erklären könntest?
und mir jemand vielleicht sagen könnte was an dem code in post #20 falsch ist
 
Zuletzt bearbeitet:
also hier ist die richtige lösung denn der Buchstabe soll ebenfalls variabel sein
jedoch habe ich ein paar Fragen
Code:
public class Aausgabe {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub

                
        int i;
                char buchstabe = args[0].charAt(0); //weshalb macht man args[0];charAt(0)
                int zeilenAnzahl = Integer.parseInt(args[1]);//was macht Integer.parselnt(args[1])
                StringBuffer sb = new StringBuffer();
                sb.append(buchstabe);
                System.out.println(sb.toString());
                        for (i=1; i<zeilenAnzahl; i++)
                        {
                                sb.append(buchstabe);
                                sb.append(buchstabe);//wieso ein zweites mal kann man nicht einfach beim ersten +1 machen?
                                System.out.println(sb.toString());
        }

}
}
Und zu guter letzt kann man im code selber vielleicht die parameter schon definieren damit man es nicht im programm machen muss?
Z.B. in Eclipse muss ich in Arguments wenn ich z.B. den buchstaben T mache und ihn in 4 zeilen haben will gib ich T 4 ein.
Das müsste doch auch auch im code selbst umsetzbar sein oder?
 
Zuletzt bearbeitet:
Moin,

zu Deinen Fragen:

1.
args[0].charAt(0) zieht den ersten Buchstaben aus dem ersten Argument-String.
Bei "java Ausgabe A 15" zum Starten des Programms würde die Zeile also das "A" als char herausfiltern.

2. Integer.parseInt(args[1]) konvertiert den zweiten Argument-String in einen int.

3. Da Du als Ausgabe nicht jenes haben willst:
A
AA
AAA
AAAA
...

sondern immer 2 Buchstaben mehr angezeigt werden sollen, muss auch ein Buchstabe "mehr" hinzugefügt werden.
+1 ist unsinnig, aber dies wäre akzeptabel: sb.append(buchstabe).append(buchstabe)

4. Das ginge zum Beispiel so:
Java:
public class Ausgabe {
    public static void main(String[] args) {
        String       s     = "A";
        String       count = "15";
        int          i;
        char         buchstabe    = s.charAt(0);
        int          zeilenAnzahl = Integer.parseInt(count);
        StringBuffer sb           = new StringBuffer();

        sb.append(buchstabe);
        System.out.println(sb.toString());

        for (i = 1; i < zeilenAnzahl; i++) {
            sb.append(buchstabe).append(buchstabe);
            System.out.println(sb.toString());
        }
    }
}

Gruß,
Xan
 
Zurück