Methoden Problme bei der Übergabe von Stringwerten

Miral

Mitglied
Hallo,

ich schafe es nicht das Stringwerte zu übergeben. Die Wert werden über die Kommandozeile eingelesen und sollen weiter genutzt werden zu berechnung des IBAN-Codes. Die Berechnung funktioneirt und es kommt aus das richtige raus, wenn ich es ohne Methode laufen laise, also nur in der Main, nur sobald ich versuchen das über Methoden abzurufen funktioniert es nicht richtig oder garnicht.

Die Ausgabe soll " Ländercode+Prüfzahl+Blz+ Konto" sein.

Danke für die hilfe oder für Tips im vorraus.


Java:
/**
 * 
 */

/**
 * @author Schaefer
 * @param <extendes>
 *
 */
public class Uebung8<extendes> {

	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Uebung8.erzeugeIban(Laenderkennung(args), BLZ (Laenderkennung(args),args), Nummer(args));
		//System.out.println(Uebung8.erzeugeIban(Laenderkennung( args )), BLZ( Laenderkennung(args),args), Nummer (args)));
	System.out.print(erzeugeIban());
	
		

		}
public static String Laenderkennung(String args[]){
String s= args[0];
s=s.toUpperCase(); return s;
}
public static String Nummer (String args[]){
int i=0;
String a=args[2];
for (i=a.length(); i<10;i++){
	   a="0" + a; 
	   }
return a;
}

public static String BLZ( String Laenderkennung,String args[]){
	
	String b=args[1];
	String c=b+Laenderkennung;
	System.out.println(c);

	int d= args[0].charAt(0);
	int e= args[0].charAt(1);
	d=d-96+9;
	e=e-96+9;
	System.out.println(d +""+e);

	Integer.toBinaryString(d);
	Integer.toBinaryString(e);

	c=c+d+e+"00";
	System.out.println(c); 


	int f=Integer.parseInt( c.substring(0,9));	
	f=f%97;
	Integer.toBinaryString(f);

	String g= c.substring(9,16);	
	g=f+g;
	 int j= Integer.parseInt(g);
	 
	j=j%97;

	Integer.toBinaryString(j);
	g=c.substring(16,23);

	g=j+g;
	int h= Integer.parseInt(g);
	h=h%97;
	Integer.toBinaryString(h);
			
	String k=c.substring(23);
	k=h+k;
	int l= Integer.parseInt(k);
	 l=l%97;


	l=98-l;
	String o=Integer.toBinaryString(l);
	

	String z= o+args[1];
	return z;

	
}

public static String erzeugeIban( String Laenderkennung,String BLZ,String Nummer){

	return Laenderkennung+ BLZ+ Nummer;
}
 

Gucky

Top Contributor
Geht nicht ist keine Fehlermeldung. Was passiert anstelle des gewollten, meckert der Compiler, bekommst du eine Exception?
 

Ritualist

Mitglied
Irgendwie kommt mir der Inhalt deiner main komisch vor.
Ich würde es mal damit probieren Z.18 zu entfernen und dann die Übergabewerte auch in den Methodenaufruf zu schreiben, der anschließend auch ausgegeben wird. Das wäre dann wohl Z.20.

Kann sein, dass das Müll ist was ich hier schreibe... hoffentlich nicht ;)
 
Zuletzt bearbeitet:

Miral

Mitglied
Hallo,

danke für die hinweise , dadurch kamm ich ich auf den richtígne Weg. Musste zwar estwas umschreiben aber es klaptt jetzt alles. Auch wen der Programmcode etwas schönner sien könnte.

DANKE :idea::D

hier das fertige programm:

Java:
/**
 * 
 */

/**
 * @author Mueller
 * 
 */
public class Uebung8 {

	/**
	 * @param args
	 * @param args
	 * @param args
	 */

	public static String laenderkennung(String s) {
		s = s.toUpperCase();
		return s;
	}

	public static String blz(String b) {
		return b;
	}

	public static String Nummer(String a) {
		int i = 0;
		for (i = a.length(); i < 10; i++) {
			a = "0" + a;
		}
		return a;
	}

	public static String pruefzahl(String laenderkennung, String blz,
			String Nummer) {

		String c = laenderkennung(laenderkennung);

		String b = blz(blz);
		String a = Nummer(Nummer);
		int d = c.charAt(0);

		int e = c.charAt(1);

		d = d - 64 + 9;
		e = e - 64 + 9;

		Integer.toBinaryString(d);
		Integer.toBinaryString(e);

		c = blz(b) + Nummer(a) + d + e + "00";

		int f = Integer.parseInt(c.substring(0, 9));
		f = f % 97;
		Integer.toBinaryString(f);

		String g = c.substring(9, 16);
		g = f + g;
		int j = Integer.parseInt(g);

		j = j % 97;

		Integer.toBinaryString(j);

		g = c.substring(16, 23);

		g = j + g;

		int h = Integer.parseInt(g);
		h = h % 97;

		Integer.toBinaryString(h);

		String k = c.substring(23);
		k = h + k;

		int l = Integer.parseInt(k);
		l = l % 97;

		l = 98 - l;

		if (l < 10) {

			Integer x = new Integer(l);
			String o = x.toString();
			o = "0" + 0;
			return o;
		} else {
			Integer x = new Integer(l);
			String o = x.toString();
			return o;
		}

	}

	public static String erzeugeIban(String laenderkennung, String blz,
			String Nummer) {
		laenderkennung = laenderkennung(laenderkennung);
		Nummer = Nummer(Nummer);
		blz = blz(blz);
		String x = pruefzahl(laenderkennung, blz, Nummer);

		return x = laenderkennung + x + blz + Nummer;
	}

	public static void main(String[] args) {
		String s = args[0];
		String b = args[1];
		String a = args[2];
		System.out.println(erzeugeIban(s, b, a));

	}

}
 

Neue Themen


Oben