int in String umwandeln

bandy

Bekanntes Mitglied
Hallo,
bin wieder da :D

mir gelingt es nicht ein Problem zu loesen.

Habe 2 Schleifen die int-Zahlen ausspucken, diese werden in der Konsole ausgegeben. Bevor diese ausgegeben werden, will ich diese in einer if-Abfrage in String konvertieren, aber das gelingt nicht:oops:

Gegoogelt habe ich nur eine Methode die etwas bewirken konnte. String.valueOf() komme aber damit nicht klar.

Code:
for (int i = 0; i <= 4; i++)
	
		for ( int i2 = 0; i2 <=4; i2++)
			
			if(i2==0) i2=String.valueOf("a");
			else
			if(i2==1) .........
			else
			if(i2==2) ......
			else
			if(i2==3) 
			else
		System.out.println(i+""+i2);
	}

:bahnhof:
 

Marco13

Top Contributor
Typ-Pingpong...

int einInt = 123;
String einString = String.valueOf(einInt);
int nochEinInt = Integer.valueOf(einString);
 

agentone

Bekanntes Mitglied
Deine Fragen waren ziemlich konfus, genauso wie der Quelltext. (Bitte
Java:
 anstatt [CODE] verwenden!)

[code=Java]i2=String.valueOf("a");
Das kann garnicht funktionieren, da i2 vom Typ int, aber valueOf einen String zuückgibt. Was wolltest du eigentlich erreichen? (Du setzt übrigens den Schleifen-Index, soetwas sollte man nur tun, wenn man weiß was man tut.)

von int zu String konvertieren kannst du z. B. so:
Java:
int zahl=3; //testzahl
String str=String.valueOf(zahl); //str enthält dann den String "3"
String str2=""+zahl; //2. Möglichkeit: str2 enthält dann genauso "3"

Am besten ist, du erklärst einfach dein Problem mit kurzen, verständlichen Sätzen. Warum brauchst du die for-Schliefen? Was soll bei den if-Konstrukten passieren? Warum willst du int in String umwandeln? Was willst du ausgeben?
 

JanHH

Top Contributor
Irgendwie ist völlig unklar was Du eigentlich machen willst. Wenn Du statt einer "1" ein "a" ausgeben willst, halt zu jeder Zahl 97 dazuzählen (1+96 = 97 = ascii-Code von "a") und als char ausgeben..

char c=(char)(i+96);
 

agentone

Bekanntes Mitglied
und dann kommt NumberFormatException

Wie, was wo? Bei welchem Code kommt dieser Fehler? Kannst du den mal bitte hier reinstellen!
Beim umwandeln eines int in ein String kann es keine NFException geben!

Und beim Code von Marco13 gibt es genauso keine Exceptions.

Wenn du natürlich
Code:
Integer.valueOf("a")
geschrieben hast, ist das kein Wunder...
 

Marco13

Top Contributor
*dämmer*... Falls du sowas hast wie
int a = 123;
dann wird
String s = String.valueOf("a");
nicht funktionieren - das muss schon
String s = String.valueOf(a);
sein... ???:L
 

bandy

Bekanntes Mitglied
Irgendwie ist völlig unklar was Du eigentlich machen willst. Wenn Du statt einer "1" ein "a" ausgeben willst, halt zu jeder Zahl 97 dazuzählen (1+96 = 97 = ascii-Code von "a") und als char ausgeben..

char c=(char)(i+96);

Schau mal hier bitte was die Schleifen in der Konsole ausgeben:

Code:
0   i <== *** ==> i2   0
0   i <== *** ==> i2   1
0   i <== *** ==> i2   2
0   i <== *** ==> i2   3
0   i <== *** ==> i2   4
1   i <== *** ==> i2   0
1   i <== *** ==> i2   1
1   i <== *** ==> i2   2
1   i <== *** ==> i2   3
1   i <== *** ==> i2   4
2   i <== *** ==> i2   0
2   i <== *** ==> i2   1
2   i <== *** ==> i2   2
2   i <== *** ==> i2   3
2   i <== *** ==> i2   4
3   i <== *** ==> i2   0
3   i <== *** ==> i2   1
3   i <== *** ==> i2   2
3   i <== *** ==> i2   3
3   i <== *** ==> i2   4
4   i <== *** ==> i2   0
4   i <== *** ==> i2   1
4   i <== *** ==> i2   2
4   i <== *** ==> i2   3
4   i <== *** ==> i2   4

Also links sehen wir die Werte von Schleife i und rechts von i2.
Was ich erreichen will, ist z.B. die Werte von i oder i2 vor der Ausgabe mit System.out.println("");
in Zeichenkette konvertieren. Wenn ich z.B. bei i2 beim Wert 2 es ausgeschrieben haben moechte, also Zeichenkette "zwei".
Das ganze soll dann in der Konsole so aussehen:

Code:
0   i <== *** ==> i2   0
0   i <== *** ==> i2   1
0   i <== *** ==> i2   [COLOR="Red"]zwei[/COLOR]
0   i <== *** ==> i2   3
0   i <== *** ==> i2   4
1   i <== *** ==> i2   0
1   i <== *** ==> i2   1
1   i <== *** ==> i2   [COLOR="Red"]zwei[/COLOR]
1   i <== *** ==> i2   3
1   i <== *** ==> i2   4
2   i <== *** ==> i2   0
2   i <== *** ==> i2   1
2   i <== *** ==> i2   [COLOR="Red"]zwei[/COLOR]
2   i <== *** ==> i2   3
2   i <== *** ==> i2   4
3   i <== *** ==> i2   0
3   i <== *** ==> i2   1
3   i <== *** ==> i2   [COLOR="Red"]zwei[/COLOR]
3   i <== *** ==> i2   3
3   i <== *** ==> i2   4
4   i <== *** ==> i2   0
4   i <== *** ==> i2   1
4   i <== *** ==> i2   [COLOR="Red"]zwei[/COLOR]
4   i <== *** ==> i2   3
4   i <== *** ==> i2   4

Hierfuer will ich den Wert von i2 wenn es 2 hat in eine Zeichenkette umwandeln. Ansonsten soll i2 deren schoene int-Zahlen weiterhin behalten, damit der Rest wie gewuenscht ausgegeben werden kann. Es soll also nicht i2 komplett in String umgewandelt werden, sondern nur zur Laufzeit, wenn es bei 2 ist.

Dies versuchte ich mit der if-Abfrage zu loesen und habe hierfuer den Quelltext von Marco13 genohmen:

[JAVA=0]
String s="zwei";

for (int i = 0; i <= 4; i++)

for ( int i2 = 0; i2 <=4; i2++)

if(i2==0) s=String.valueOf(i2);
else
System.out.println(i+" i <== *** ==> i2 "+i2);
[/code]

So ist es doch anzuwenden bei diesem Beispiel, oder?:bahnhof:

Aber Ergebnis ist selbe!

Wenn ich es in char ausgeben will anstatt in String und damit das ganze dann so aussieht:

Code:
0   i <== *** ==> i2   0
0   i <== *** ==> i2   1
0   i <== *** ==> i2   [COLOR="Red"]a[/COLOR]
0   i <== *** ==> i2   3
0   i <== *** ==> i2   4
1   i <== *** ==> i2   0
1   i <== *** ==> i2   1
1   i <== *** ==> i2   [COLOR="Red"]a[/COLOR]
1   i <== *** ==> i2   3
1   i <== *** ==> i2   4
2   i <== *** ==> i2   0
2   i <== *** ==> i2   1
2   i <== *** ==> i2   [COLOR="Red"]a[/COLOR]
2   i <== *** ==> i2   3
2   i <== *** ==> i2   4
3   i <== *** ==> i2   0
3   i <== *** ==> i2   1
3   i <== *** ==> i2   [COLOR="Red"]a[/COLOR]
3   i <== *** ==> i2   3
3   i <== *** ==> i2   4
4   i <== *** ==> i2   0
4   i <== *** ==> i2   1
4   i <== *** ==> i2   [COLOR="Red"]a[/COLOR]
4   i <== *** ==> i2   3
4   i <== *** ==> i2   4

Scheitert der Versuch wenn ich dies so versuche:

[JAVA=0]
char c;

for (int i = 0; i <= 4; i++)

for ( int i2 = 0; i2 <=4; i2++)

if(i2==0) i2= c=(char)(i2+96);
else
System.out.println(i+" i <== *** ==> i2 "+i2);
[/code]
 

Ruzmanz

Top Contributor
Ich glaube er meint so was:
(Integer 5 zu String "fünf" ist nicht möglich in Java.)

Java:
public class Zahlen {
    public Zahlen() {
        for(int i = 0; i <= 4; i++) {
            for(int i2 = 0; i2 <= 4; i2++) {
                System.out.print("" + i + "   i <== *** ==> i2  ");
                switch(i2) {
                    case 0:
                        System.out.println("null");
                        break;
                    case 1:
                        System.out.println("eins");
                        break;
                    case 2:
                        System.out.println("zwei");
                        break;
                    case 3:
                        System.out.println("drei");
                        break;
                    case 4:
                        System.out.println("vier");
                        break;
                    default:
                        System.out.println("unbekannt");
                }
            }
        }
    }
}

Ausgabe:

0 i <== *** ==> i2 null
0 i <== *** ==> i2 eins
0 i <== *** ==> i2 zwei
0 i <== *** ==> i2 drei
0 i <== *** ==> i2 vier
1 i <== *** ==> i2 null
1 i <== *** ==> i2 eins
1 i <== *** ==> i2 zwei
1 i <== *** ==> i2 drei
1 i <== *** ==> i2 vier
2 i <== *** ==> i2 null
2 i <== *** ==> i2 eins
2 i <== *** ==> i2 zwei
2 i <== *** ==> i2 drei
2 i <== *** ==> i2 vier
3 i <== *** ==> i2 null
3 i <== *** ==> i2 eins
3 i <== *** ==> i2 zwei
3 i <== *** ==> i2 drei
3 i <== *** ==> i2 vier
4 i <== *** ==> i2 null
4 i <== *** ==> i2 eins
4 i <== *** ==> i2 zwei
4 i <== *** ==> i2 drei
4 i <== *** ==> i2 vier

Sry, mit if:


Java:
public class Zahlen {
    public Zahlen() {
        for(int i = 0; i <= 4; i++) {
            for(int i2 = 0; i2 <= 4; i2++) {
                System.out.print("" + i + "   i <== *** ==> i2  ");
                if(i2 == 0)
                        System.out.println("null");
                if(i2 == 1)
                        System.out.println("eins");
                if(i2 == 2)
                        System.out.println("zwei");
                if(i2 == 3)
                        System.out.println("drei");
                if(i2 == 4)
                        System.out.println("vier");
            }
        }
    }
}
 
Zuletzt bearbeitet:

agentone

Bekanntes Mitglied
Kann es sein, dass sich die Aufgabenstellung jetzt ungefähr 10-mal verändert hat, weil der Threadstarter sich nicht vernünftig ausdrücken konnte?
 

Ruzmanz

Top Contributor
und was hatter dann davon?

Vielleicht soll er für die NASA in deutscher Sprache ein Raketenstartprogramm schreiben oder er ist einfach ein Java Einsteiger und versucht eine kleine Hausaufgabe zum laufen zu bringen.

Die ICU-Bibliothek von IBM kann das...

... nicht. Selbst IBM ist nicht so mächtig menschliche Assoziationen in ein Javaprogramm zu packen. Das war auf die Syntax von Java bezogen:

if(Stein > Schere)

Anfänger: Ein Stein ist ein Stein und der ist stärker wie eine Schere. Stein schlägt schere.
Programmierer: "Stein" und "Schere" sind wahrscheinlich Variablen vom Typ int. (Und sind komischer Weiße großgeschrieben.)

Genauso hat er WAHRSCHEINLICH, keine Garantie, das er es so gemeint hat, versucht eine 5 in eine "fünf" zu machen. Da 5 eine Zahl ist und "fünf" ein String.
 

Marco13

Top Contributor
Da hatte ich auch mal was geschrieben...
Java:
class NumText {

  public static void main(String args[]) {
    System.out.println("                  0: "+print(                  0L));
    System.out.println("                  1: "+print(                  1L));
    System.out.println("                 10: "+print(                 10L));
    System.out.println("                 15: "+print(                 15L));
    System.out.println("                 16: "+print(                 16L));
    System.out.println("                 20: "+print(                 20L));
    System.out.println("                 27: "+print(                 27L));
    System.out.println("                100: "+print(                100L));
    System.out.println("                111: "+print(                111L));
    System.out.println("                123: "+print(                123L));
    System.out.println("               1000: "+print(               1000L));
    System.out.println("               1002: "+print(               1002L));
    System.out.println("               4521: "+print(               4521L));
    System.out.println("              34567: "+print(              34567L));
    System.out.println("             230518: "+print(             230518L));
    System.out.println("            1000000: "+print(            1000000L));
    System.out.println("            2000000: "+print(            2000000L));
    System.out.println("            4234507: "+print(            4234507L));
    System.out.println("           11201514: "+print(           11201514L));
    System.out.println("          145234567: "+print(          145234567L));
    System.out.println("         1000000000: "+print(         1000000000L));
    System.out.println("         1101101101: "+print(         1101101101L));
    System.out.println("         6345562624: "+print(         6345562624L));
    System.out.println("9223372036854775807: "+print(9223372036854775807L));
  }

  private static String number[] = new String[]{
    "null","ein","zwei","drei","vier","fünf","sechs","sieben","acht","neun"
  };

  private static String tens[] = new String[]{
    "(nullzig)", "zehn", "zwanzig", "dreißig", "vierzig",
    "fünfzig", "sechzig", "siebzig", "achzig", "neunzig"
  };

  private static String order[] = new String[]{
    "","tausend","million","milliarde","billion","billiarde","trillion"
  };


  public static String print(long n) { return (n==0?"null":print(n,0)); }
  private static String print(long n, int k){//n!=0!
    String result="";                                 // result += :
    if (n%1000==0) return print(n/1000, k+1);
    int h=(int)((n%1000)/100);
    int t=(int)((n%100)/10);
    int o=(int)(n%10);
    if (h!=0) result+=(number[h]+"hundert");          // drei+hundert
    if (t!=0) {
      if (t==1) {
        switch (o) {
          case 0: result+="zehn";     break;
          case 1: result+="elf";      break;
          case 2: result+="zwölf";    break;
          case 6: result+="sechzehn"; break;
          case 7: result+="siebzehn"; break;
          case 8: result+="achzehn";  break;
          default: result+=(number[o]+"zehn"); break; // vier+zehn
        }
      }
      else if (o==0) result+=tens[t];                 // zwanzig
      else result+=(number[o]+"und"+tens[t]);         // acht+und+dreißig
    } else if (o!=0) result+=number[o];               // sieben
    if      (k<=1)         result+=    order[k];      // tausend
    else if (o==1 && t==0) result+="e"+order[k];      // einE   ...
    else if (k%2==0)       result+=    order[k]+"en"; // >=zwei ...illionEN
    else                   result+=    order[k]+"n";  // >=zwei ...illiardeN
    if (n/1000!=0) result=print(n/1000, k+1)+result;
    return result;
  }


}
 

Landei

Top Contributor
Integer.toString(Integer bla);??

und was hatter dann davon?
also ich meine das bringt ihm eh nur was im deutschen sprachraum....

ICU erlaubt natürlich Internationalisierung. Einige Sprachen sind schon dabei, aber man kann auch eigene "Regelsätze" dazuschreiben (hat meine Firma z.B. für Polnisch und Russisch gemacht, brauchen wir für Versanddokumente). Das Schöne ist, das man auch komplexere Bildungsregeln formulieren kann - manche Sprachen haben viel kompliziertere "verbale Zahlensysteme" als deutsch.
 

agentone

Bekanntes Mitglied
@Marco13: Dein Programm ist nicht ganz fehlerfrei:

1:ein (s fehlt)
101: einhundertein (s fehlt an einer Stelle)
18: achzehn (t fehlt)
1000000: einemillion (sollte besser auseinander geschrieben werden, und Million groß)

Warum erwartet die Methode eigentlich ein long, und nicht zum Beispiel ein BigInteger oder einen String?

Du könntest das Programm auf Dezimalzahlen erweitern. Das ist zwar nicht sehr schwierig, vervollständigt aber das Programm.
 

Marco13

Top Contributor
Naja, das "achtzehn" ist ja eher ein Tippfehler :oops: kann man ja leicht ändern.

Aber @agentone: Dort tut jetzt das Grammatik ins Spiel kommen :D Dass bei "ein" kein 's' dahinter steht ist dahingehend Absicht, dass das Programm ursprünglich auf (Euro)Beträge abzielte, und 1€ eben "Ein Euro" ist und nicht "Eins Euro". Regeln zur getrennt Schreibung oder Zusammenschreibung könnte man noch einbauen, ganz grob:
Java:
class NumText1b {

  public static void main(String args[]) {
    System.out.println("                  0: "+print(                  0L));
    System.out.println("                  1: "+print(                  1L));
    System.out.println("                 10: "+print(                 10L));
    System.out.println("                 15: "+print(                 15L));
    System.out.println("                 16: "+print(                 16L));
    System.out.println("                 20: "+print(                 20L));
    System.out.println("                 27: "+print(                 27L));
    System.out.println("                100: "+print(                100L));
    System.out.println("                111: "+print(                111L));
    System.out.println("                123: "+print(                123L));
    System.out.println("               1000: "+print(               1000L));
    System.out.println("               1002: "+print(               1002L));
    System.out.println("               4521: "+print(               4521L));
    System.out.println("              34567: "+print(              34567L));
    System.out.println("             230518: "+print(             230518L));
    System.out.println("            1000000: "+print(            1000000L));
    System.out.println("            2000000: "+print(            2000000L));
    System.out.println("            4234507: "+print(            4234507L));
    System.out.println("           11201514: "+print(           11201514L));
    System.out.println("          145234567: "+print(          145234567L));
    System.out.println("         1000000000: "+print(         1000000000L));
    System.out.println("         1101101101: "+print(         1101101101L));
    System.out.println("         6345562624: "+print(         6345562624L));
    System.out.println("9223372036854775807: "+print(9223372036854775807L));
  }

  private static String number[] = new String[]{
    "null","ein","zwei","drei","vier","fünf","sechs","sieben","acht","neun"
  };

  private static String tens[] = new String[]{
    "(nullzig)", "zehn", "zwanzig", "dreißig", "vierzig",
    "fünfzig", "sechzig", "siebzig", "achzig", "neunzig"
  };

  private static String order[] = new String[]{
    "","tausend"," Million"," Milliarde"," Billion"," Milliarde"," Trillion"
  };


  public static String print(long n) { return (n==0?"null":print(n,0)); }
  private static String print(long n, int k){//n!=0!
    String result="";                                 // result += :
    if (n%1000==0) return print(n/1000, k+1);
    int h=(int)((n%1000)/100);
    int t=(int)((n%100)/10);
    int o=(int)(n%10);
    if (h!=0) result+=(number[h]+"hundert");          // drei+hundert
    if (t!=0) {
      if (t==1) {
        switch (o) {
          case 0: result+="zehn";     break;
          case 1: result+="elf";      break;
          case 2: result+="zwölf";    break;
          case 6: result+="sechzehn"; break;
          case 7: result+="siebzehn"; break;
          case 8: result+="achtzehn"; break;
          default: result+=(number[o]+"zehn"); break; // vier+zehn
        }
      }
      else if (o==0) result+=tens[t];                 // zwanzig
      else result+=(number[o]+"und"+tens[t]);         // acht+und+dreißig
    } else if (o!=0) result+=number[o];               // sieben
    if      (k<=1)         result+=    order[k]+" ";  // tausend
    else if (o==1 && t==0) result+="e"+order[k];      // einE   ...
    else if (k%2==0)       result+=    order[k]+"en "; // >=zwei ...illionEN
    else                   result+=    order[k]+"n "; // >=zwei ...illiardeN
    if (n/1000!=0) result=print(n/1000, k+1)+result;
    return result;
  }
}

Ob und nach welcher Rechtschreibung es nun "Vier Million Drei Tausend Zwei Hundert" oder "Viermillion dreitausend zweihundert" heißt, spielte aber für mich keine so große Rolle: Eigentlich hatte ich das Programm ohnhin nur geschrieben, um so ein Zahlen-Zu-Text-Programm (in seiner einfachsten Form, die eben alles als einem Wort ausgibt) mal möglichst "kompakt" zu schreiben. Das, was ich gepostet hatte, war Version 1.0. Version 3.0 war dann das hier:
Java:
class X{String _,T="zig",m="mill",b="bill",O="ion",A="iarde",s="sieb",x="sech",
i="zwölf",y="ach",v="en",N[]={"","ein","zwei","drei","vier","fünf",x+"s",s+v,y+
"t","neun"},g="elf",u[]={"","zehn","zwan"+T,N[3]+"ßig",N[4]+T,N[5]+T,x+T,s+T,y+
T,N[9]+T},M[]={"","tausend",m+O,m+A,b+O,b+A,"trill"+O};int z=100,c=10,w=c*z;int
h(long n){return(int)((n%w)/z);}String p(long n,int k){return n%w==0?p(n/w,k+1)
:n/w!=0?p(n/w,k+1)+q(n,k):q(n,k);}String q(long n,int k){return (h(n)!=0?N[h(n)
]+"hundert":"")+(t(n)!=0?t(n)==1?o(n)==0?u[1]:o(n)==1?g:o(n)==2?i:o(n)==6?x+u[1
]:o(n)==7?s+u[1]:o(n)==8?y+u[1]:N[o(n)]+u[1]:o(n)==0?u[t(n)]:N[o(n)]+"und"+u[t(
n)]:N[o(n)])+(k<=1?M[k]:o(n)==1&&t(n)==0?"e"+M[k]:k%2==0?M[k]+v:M[k]+"n");}int
t(long n){return(int)((n%z)/c);}int o(long n){return(int)(n%c);}static String p
(long n){return new X().P(n);}String P(long n){return(n==0?_:p(n,0));}}
(Ich fand das damals irgendwie mal ganz spaßig :D)
 

agentone

Bekanntes Mitglied
@NumText1b: Schon viel besser!

Ob und nach welcher Rechtschreibung
Ja, ja die gute alte Rächtschraibung. Jedes Jahr wid sie geändert, damit der Duden-Verlag nicht pleite geht...

(Ich fand das damals irgendwie mal ganz spaßig )
Aber so sieht es tatsächlich aus, wenn man zum Beispiel Code in javascript schreibt.
Siehe dort: http://code.jquery.com/jquery-1.4.2.min.js

das Programm ursprünglich auf (Euro)Beträge abzielte
Jetzt ergibt das natürlich Sinn! Aber stell dir vor, du musst einen Ordnungszahlen-Generator (erstens, zweitens, drittens...) schreiben. Je nach Anwendungsfall muss das Programm entsprechend angepasst werden (Ordinalzahlen, Kardinalzahlen...). Irgendwie ziemlich nervig. Da habens die Engländer deutlich leichter (1st, 2nd, 3rd, 4th...).
Übrigens gibts dazu auch einen schönen Wiki-Eintrag: Zahlennamen ? Wikipedia
 

Wortraum

Bekanntes Mitglied
Ob und nach welcher Rechtschreibung es nun "Vier Million Drei Tausend Zwei Hundert" oder "Viermillion dreitausend zweihundert" heißt, spielte aber für mich keine so große Rolle: …
Wer vier Million oder vier Buch schreibt, der braucht sich um Rechtschreibung nicht zu kümmern, da hast Du schon recht. ;)

Da habens die Engländer deutlich leichter (1st, 2nd, 3rd, 4th...).
⒈, ⒉, ⒊, ⒋ Das scheint mir jetzt nicht unbedingt komplizierter.
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Ja, ja die gute alte Rächtschraibung. Jedes Jahr wid sie geändert, damit der Duden-Verlag nicht pleite geht...

Rechtschreibreform™ - rechtfertigt Fehler seit 1996 :D


Aber so sieht es tatsächlich aus, wenn man zum Beispiel Code in javascript schreibt.

Der ist nur mit einem Programm kompakter gemacht, um die downloadzeit zu verringern...



Jetzt ergibt das natürlich Sinn! Aber stell dir vor, du musst einen Ordnungszahlen-Generator (erstens, zweitens, drittens...) schreiben....

Ja, wie gesagt, das Programm war nur eingeschränkt für eine "echte, produktive Verwendung" gedacht. Wenn man damit alle grammatikalischen Eventualitäten in allen möglichen Sprachen abdecken wollte, wäre es kein 10-Zeiler mehr ;)
 

agentone

Bekanntes Mitglied
Der ist nur mit einem Programm kompakter gemacht, um die downloadzeit zu verringern...
... oder um ihn unlesbar zu machen:
Code:
var gurke=7;var gurke1=13;for(var bus=0;bus<gurke;alert(bus*gurke1)){bus++;}
So oder so ähnlich "verschlüsseln" manche JavaScript-Programmierer ihren Quellcode.
Sicherlich gibt es auch Programme, die so etwas können.
 

bandy

Bekanntes Mitglied
Ich glaube er meint so was:
(Integer 5 zu String "fünf" ist nicht möglich in Java.)

Java:
public class Zahlen {
    public Zahlen() {
        for(int i = 0; i <= 4; i++) {
            for(int i2 = 0; i2 <= 4; i2++) {
                System.out.print("" + i + "   i <== *** ==> i2  ");
                if(i2 == 0)
                        System.out.println("null");
                if(i2 == 1)
                        System.out.println("eins");
                if(i2 == 2)
                        System.out.println("zwei");
                if(i2 == 3)
                        System.out.println("drei");
                if(i2 == 4)
                        System.out.println("vier");
            }
        }
    }
}

Du scheinst einer der Wenigen zu sein, die es verstanden haben was ungefaehr gesucht wird! Nur wenn man bei deinem Quelltext nur die Zeichenkette "zwei" ausgeben moechte, dann muss man zu den restlichen Werten von i2 auch eine if-Abfrage durchfuehren und das kann z.B. bei so einer Schleife:

Java:
for(int i2 = 0; i2 <= 40000; i2++)

sehr laestig werden, wenn man es dann 40000 mal:

Java:
if(i2 == ...)
                        System.out.println(".....");

schreiben muss um nur ein Feld zu aendern.

Deswegen wollte ich es nur einmal einen Wert der Schleife in String konvertieren und den Rest lassen wie es ist, aber anscheinend geht es bei Java so nicht wie ich es will:bahnhof:
 

Ruzmanz

Top Contributor
Das ist doch Sinn der Sache. Wenn du erkennst, dass es ziemlich blöd ist 40.000 mal die selbe Anweisung zu schreiben, dann muss ein Algorithmus her. Es gibt sicherlich irgendwo jemanden der das selbe Problem gelöst hat, aber schau mal selbst wie du es hinbekommst.

Zum Beispiel erkennt man doch, das im Prinzip immer die selben Ausgaben folgen ab 12:

"drei" + "zehn"
"viert" + "zehn"
"fünf" + "zehn"
"sechs" + "zehn"
"sieben" + "zehn"
"acht" + "zehn"
"neun" + "zehn"
-> Nächste 10er-Folge:
"zwanzig"
"ein" + "und" + "zwanzig"
"zwei" + " und + "zwanzig"
...
 

agentone

Bekanntes Mitglied
Deswegen wollte ich es nur einmal einen Wert der Schleife in String konvertieren und den Rest lassen wie es ist

Suchst du sowas?
Java:
if(i2 == 2){System.out.println("zwei");}
else{System.out.println(""+i2);}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
S String umwandeln Java Basics - Anfänger-Themen 6
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
geekex Double zu String umwandeln in einer Methode Java Basics - Anfänger-Themen 28
MiMa String in Gross und Kleinbuchstaben umwandeln Java Basics - Anfänger-Themen 10
H JCalendar in String umwandeln Java Basics - Anfänger-Themen 9
L String in Binär umwandeln Java Basics - Anfänger-Themen 4
W String auf char[] umwandeln Java Basics - Anfänger-Themen 3
C Array in String umwandeln Java Basics - Anfänger-Themen 5
I String zu File umwandeln Java Basics - Anfänger-Themen 2
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
L Java CMD Console in String umwandeln? Java Basics - Anfänger-Themen 2
D String zu int umwandeln Java Basics - Anfänger-Themen 2
W String Array in Int umwandeln um auf Zahl zu überprüfen Java Basics - Anfänger-Themen 4
D String in FileInputStream umwandeln Java Basics - Anfänger-Themen 2
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
AssELAss String in Datum umwandeln Java Basics - Anfänger-Themen 4
J array in String umwandeln Java Basics - Anfänger-Themen 1
J array in String umwandeln Java Basics - Anfänger-Themen 3
1 Binärdarstellung (als String) in Dezimalzahl umwandeln Java Basics - Anfänger-Themen 8
X Datentypen Int oder String in Bits/Bytes umwandeln Java Basics - Anfänger-Themen 10
W Datentypen String in Quellcode umwandeln Java Basics - Anfänger-Themen 25
J int mit führenden Nullen in String umwandeln Java Basics - Anfänger-Themen 5
A String in Double umwandeln mit Tests Java Basics - Anfänger-Themen 3
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
M String in Datum umwandeln mit SimpleDateFormat Java Basics - Anfänger-Themen 3
A String(Ascii ) in String umwandeln Java Basics - Anfänger-Themen 3
M set<String> in ein StringArray umwandeln? Java Basics - Anfänger-Themen 3
F ArrayList<ArrayList<String>> to String[][] umwandeln? Java Basics - Anfänger-Themen 9
B Unbekannte Zahl aus einem String umwandeln Java Basics - Anfänger-Themen 15
T String spliten und in BigInteger umwandeln Java Basics - Anfänger-Themen 3
G File in String umwandeln. (Variable) Java Basics - Anfänger-Themen 4
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F Probleme beim umwandeln von String in Int Java Basics - Anfänger-Themen 10
D Erste Schritte String Array in char Array umwandeln? Java Basics - Anfänger-Themen 1
A string bitweise in long umwandeln Java Basics - Anfänger-Themen 7
A String in int umwandeln Java Basics - Anfänger-Themen 14
M String Datei in Float-Matrix umwandeln Java Basics - Anfänger-Themen 8
J Ascii Zeichen von einem String umwandeln und ausgeben Java Basics - Anfänger-Themen 11
W Datentypen double in String umwandeln Java Basics - Anfänger-Themen 2
H Exception beim umwandeln von String zu int Java Basics - Anfänger-Themen 4
R String in ein Int Array umwandeln Java Basics - Anfänger-Themen 3
M string in ein xml-object umwandeln Java Basics - Anfänger-Themen 11
T String in ein multidimensionales Array umwandeln Java Basics - Anfänger-Themen 4
M String in Quellcode umwandeln Java Basics - Anfänger-Themen 9
V Zahleneingabe als String in Char umwandeln Java Basics - Anfänger-Themen 4
A Datentypen Typ der Arraylist in String umwandeln Java Basics - Anfänger-Themen 23
K String in Char umwandeln ??? Java Basics - Anfänger-Themen 2
S JSON String in Object umwandeln Java Basics - Anfänger-Themen 3
-horn- Kann man Code als String einladen, umwandeln und ausführen lassen? Java Basics - Anfänger-Themen 8
N Map<String, HashSet<String>> Umwandeln in Map<String, ArrayList<String>> Java Basics - Anfänger-Themen 14
L File in String umwandeln Java Basics - Anfänger-Themen 10
P Datum: String in Date umwandeln Java Basics - Anfänger-Themen 7
W String in boolean umwandeln Java Basics - Anfänger-Themen 44
F int in String umwandeln Java Basics - Anfänger-Themen 9
C Binärzahl vom Typ String in eine Zahl vom Typ Integer umwandeln Java Basics - Anfänger-Themen 4
M String(Binärzahl) in Dezimal umwandeln Java Basics - Anfänger-Themen 4
A String in Integer umwandeln Java Basics - Anfänger-Themen 17
Mike90 Umwandeln von String in String[] ? Java Basics - Anfänger-Themen 23
S String in Char umwandeln Java Basics - Anfänger-Themen 9
S Hex-String in Ascii-String umwandeln! Java Basics - Anfänger-Themen 7
E String Ip in InetAddress umwandeln Java Basics - Anfänger-Themen 4
Spot84 long von getCreationDate in String umwandeln Java Basics - Anfänger-Themen 4
S binärer string in negativen int umwandeln Java Basics - Anfänger-Themen 4
R Hex-String in LongInt umwandeln Java Basics - Anfänger-Themen 2
N string in charArray umwandeln Java Basics - Anfänger-Themen 19
Z String umwandeln Java Basics - Anfänger-Themen 4
G integer in String umwandeln Java Basics - Anfänger-Themen 1
D File mit String in File umwandeln ? Java Basics - Anfänger-Themen 4
W [Solved] String in Datum umwandeln Java Basics - Anfänger-Themen 5
C String in Int umwandeln // Von Int wieder in String zurück Java Basics - Anfänger-Themen 10
M Variablenbezeichner in einen String umwandeln Java Basics - Anfänger-Themen 4
S Datum umwandeln: String in Date umwandeln Java Basics - Anfänger-Themen 4
D SimpleDateFormat in String umwandeln Java Basics - Anfänger-Themen 7
R Probleme beim umwandeln eines String zu einem Int Wert Java Basics - Anfänger-Themen 3
U String in URL umwandeln Java Basics - Anfänger-Themen 60
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
M String in int umwandeln und in Array ablegen Java Basics - Anfänger-Themen 6
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
D String in HTML umwandeln Java Basics - Anfänger-Themen 4
G String in Document Umwandeln Java Basics - Anfänger-Themen 2
G String in Date Format umwandeln Java Basics - Anfänger-Themen 8
G String in InputStream umwandeln? Java Basics - Anfänger-Themen 8
S String in ACSII Zahlen umwandeln Java Basics - Anfänger-Themen 10
S String umwandeln in Comparable Java Basics - Anfänger-Themen 6
G String buchstaben in Zahlen umwandeln Java Basics - Anfänger-Themen 5
M Stream in String umwandeln Java Basics - Anfänger-Themen 5
V String mit Hexadezimalzahlen in Binär umwandeln Java Basics - Anfänger-Themen 2
A String umwandeln Java Basics - Anfänger-Themen 2
J String in int umwandeln Java Basics - Anfänger-Themen 5
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
P String in Binärcode umwandeln Java Basics - Anfänger-Themen 8
F Integer zu String umwandeln Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben