Hallo zusammen,
mache gerade meine ersten Schritte in Java und habe gleich ein kleines Problem, dem ich nicht Herr werde. Ich lerne mit dem Buch "Handbuch der Java Programmierung" und bin gerade bei den Datentypen. Jetzt habe ich das Listing abgeschrieben und bekomme folgende Fehlermeldung:
error: cannot find symbol
return (char)toUnsignedInt(value)
Hier der Quellcode:
Hier nr. 2:
Wie gesagt, ich fange gerade ganz frisch an. Kann mir da bitte jemand Helfen, ich weiss einfach nicht, was da falsch ist.
Danke
Frankie
mache gerade meine ersten Schritte in Java und habe gleich ein kleines Problem, dem ich nicht Herr werde. Ich lerne mit dem Buch "Handbuch der Java Programmierung" und bin gerade bei den Datentypen. Jetzt habe ich das Listing abgeschrieben und bekomme folgende Fehlermeldung:
error: cannot find symbol
return (char)toUnsignedInt(value)
Hier der Quellcode:
Java:
/**
* ByteKit
*
* Einfache Klasse zur Umwandlung zwischen int, char und
* vorzeichenlosen Bytes.
*/
public class ByteKit
{
/**
* Wandelt value (0 <= value <= 255) in ein Byte um.
*/
public static byte fromUnsignedInt(int value)
{
return (byte)value;
}
/**
* Wandelt c in ein byte um. Das High-Byte wird ignoriert.
*/
public static byte fromChar(char c)
{
return (byte)(c & 0xFF);
}
/**
* Betrachtet value als vorzeichenloses byte und wandelt
* es in eine Ganzzahl im Bereich 0..255 um.
*/
public static int toUnsingnedInt(byte value)
{
return (value & 0x7F) + (value < 0 ? 128 : 0);
}
/**
* Betrachtet value als vorzeichenloses byte und wandelt
* es in ein Unicode-Zeichen mit High-Byte 0 um.
*/
public static char toChar(byte value)
{
return (char)toUnsignedInt(value);
}
/**
* Liefert die Binaerdarstellung von value.
*/
public static String toBitString(byte value)
{
char[] chars = new char[8];
int mask = 1;
for (int i = 0; i < 8; ++i) {
chars[7 - i] = (value & mask) != 0 ? '1' : '0';
mask <<= 1;
}
return new String(chars);
}
}
Hier nr. 2:
Java:
/* Listing0413 */
public class Listing0413
{
public static void main(String[] args)
{
for (int i = 0; i < 256; ++i) {
System.out.println("i= " + i);
byte b = ByteKit.fromUnsignedInt(i);
System.out.println(" b = " + ByteKit.toBitString(b));
char c = ByteKit.toChar(b);
System.out.println(" c = " + (c >= 32 ? c : '.'));
System.out.println();
}
}
}
Wie gesagt, ich fange gerade ganz frisch an. Kann mir da bitte jemand Helfen, ich weiss einfach nicht, was da falsch ist.
Danke
Frankie