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

Sträng-fundering

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

Dela detta inlägg


Länk till inlägg
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");

Redigerad av Anders...

Dela detta inlägg


Länk till inlägg
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...

Redigerad av Anders...

Dela detta inlägg


Länk till inlägg
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);

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...