Just nu i M3-nätverket
Gå till innehåll

Sträng-fundering


simkort

Rekommendera Poster

Har alltid undrat varför tex. i java att man måste skriva "" +

före om man vill skriva till en textfield som i exemplet.

Annars fungerar det inte.

Har någon svar?

 

int xx;
    int [] [] []  x = new int[3][3][3]; 
      x [0] [0] [1] = 65;   
    xx=(x[0] [0] [1]);
  //System.out.println((int)'A');
//System.out.println((char)65);
System.out.println((char)xx);
  jTextField2.setText(""+(char)xx);   
  // jTextField2.setText((char)xx);    fungerar inte

Länk till kommentar
Dela på andra webbplatser

Det fungerar inte för dig då JTextField tar en sträng som argument till metoden setText och du försöker skicka in en char.

 

 

När du gör

 
int xx;
jTextField.setText("" + (char) xx);

 

Kommer java att skapa en sträng av "" + (char) xx, detta beror på att "" är en sträng och + innebär då att xx ska klistras ihop med den.

 

ex.

 

"" + 'a' --> "a"

"hej" + (char) 65 --> "hejA"

 

"" + 65 --> "65"

 

 

Självklart kan du skicka in en sträng direkt i setText

 

jTextField.setText("apa");

Länk till kommentar
Dela på andra webbplatser

Är inte helt nöjd med svaret, men tack ändå.

Det fungerar ju i println så.....

OK kan du visa hur man gör en sträng av char

Länk till kommentar
Dela på andra webbplatser

Är inte helt nöjd med svaret, men tack ändå.

Det fungerar ju i println så.....

OK kan du visa hur man gör en sträng av char

 

char b = 'b';
String a = Character.toString(;

String c = "" + b;

 

Att det fungerar med println beror på att den tar mer än bara en string som argument.

Läs lite i Javas API dokumentation så ser du vad som finns.

 

http://docs.oracle.com/javase/6/docs/api/java/io/PrintStream.html

Är dokumentationen för en PrintStream det som du använder när du gör

System.out.prinln...

Länk till kommentar
Dela på andra webbplatser

Tyvärr får jag inte " String a = Character.toString(B); "

 

att fungera så jag föreslår det nedan eller liknande.

 

int xx;
int xx1;
int xx2;
int [] [] []  x = new int[3][3][3]; 
      x [0] [0] [1] = 97;   
  xx=(x [0] [0] [1]);

      x [0] [1] [0] = 104;   
  xx1=(x [0] [1] [0]);

     x [0] [0] [0] = 97;   
  xx2=(x [0] [0] [0]);

 String a;   
    a=(""+(char)xx+(char)xx1+(char)xx2); 
  jTextField2.setText(a);   

  System.out.println(a);

 

 

Länk till kommentar
Dela på andra webbplatser

char b = 'b';
String a = Character.toString(;

String c = "" + b;

En liten felstavning där, det ska förstås vara toString(b).

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...