Hallo Leute,
hab mir grad selbst mal ein Projekt überlegt, das ich zu Hause machen werde.
Eine ASCII-Tabelle mit Java darstellen. Scheint echt schwierig. Was sagt ihr dazu?
Wie kann ich das realisieren??
Hallo Leute,
hab mir grad selbst mal ein Projekt überlegt, das ich zu Hause machen werde.
Eine ASCII-Tabelle mit Java darstellen. Scheint echt schwierig. Was sagt ihr dazu?
Wie kann ich das realisieren??
Wieso sollte das schwierig sein? o.o
Also ich weiß ja nicht welchen Umfang du da vor hast, bezieungsweise was das sonst noch so können soll oder ob ich gerade einfahc nur einen Denkfehler habe
Also wenn ich mich doch nicht ganz irre geht das recht einfach via casten, oder?
ähmmm, das Problem ist folgendes:
Das System muss Dezimal, Oktal und Hexal sein :DDD
Ja und Oktan?
Da war jemand schneller als ich, das weiß übrigens auch Professor Google..
Und wie mache ich es jetzt dass es immer 3 Stellen hat?
Also
anstatt 1 -> 001
oder 50 -> 050
und 200 -> 200 (unnötig, aber trotzdem :D)
Indem du die Länge eines Strings nach schaust und dementsprechend Nullen vorstellst?
Ja, so habe ich das bis jetzt auch
aba ich dachte es gibt etwas leichteres. Na ja:
DANKE
Glaube nicht.. weiß es aber auch nicht genau
Soo gut ist mein Java jetzt auch net
jo
Aufgabe gelöst:
class ASCII
{
public static void main(String[] args)
{
System.out.println(" *** ASCII-Tabelle ***");
System.out.println();
System.out.println(" Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch ");
System.out.println(" ------------------------------------------------------------------ ");
for (int zahl = 0, zahl2 = 32, zahl3 = 64, zahl4 = 96; zahl4 < 128; zahl++, zahl2++, zahl3++, zahl4++)
{
String dec = Integer.toString(zahl);
int numdec = dec.length();
String hex = Integer.toHexString(zahl);
int numhex = hex.length();
String okt = Integer.toOctalString(zahl);
int numokt = okt.length();
String decstring;
String hexstring;
String oktstring;
if (numdec == 1)
{
decstring = "00" + dec;
} else if (numdec == 2)
{
decstring = "0" + dec;
} else
{
decstring = dec;
}
if (numhex == 1)
{
hexstring = "00" + hex;
} else if (numhex == 2)
{
hexstring = "0" + hex;
} else
{
hexstring = hex;
}
if (numokt == 1)
{
oktstring = "00" + okt;
} else if (numokt == 2)
{
oktstring = "0" + okt;
} else
{
oktstring = okt;
}
String dec2 = Integer.toString(zahl2);
String hex2 = Integer.toHexString(zahl2);
String okt2 = Integer.toOctalString(zahl2);
String dec3 = Integer.toString(zahl3);
String hex3 = Integer.toHexString(zahl3);
String okt3 = Integer.toOctalString(zahl3);
String dec4 = Integer.toString(zahl4);
int numdec4 = dec4.length();
String hex4 = Integer.toHexString(zahl4);
String okt4 = Integer.toOctalString(zahl4);
String decstring4;
if(numdec4 == 2)
{
decstring4 = "0" + dec4;
}
else
{
decstring4 = dec4;
}
if(zahl4 == 127)
{
System.out.println(" " + oktstring + " " + decstring + " " + hexstring + " ... 0" + okt2 + " 0" + dec2 + " 0" + hex2 + " " + (char)zahl2 + " " + okt3 + " 0" + dec3 + " 0" + hex3 + " " + (char)zahl3 + " " + okt4 + " " + decstring4 + " 0" + hex4 + " " + "...");
}
else
{
System.out.println(" " + oktstring + " " + decstring + " " + hexstring + " ... 0" + okt2 + " 0" + dec2 + " 0" + hex2 + " " + (char)zahl2 + " " + okt3 + " 0" + dec3 + " 0" + hex3 + " " + (char)zahl3 + " " + okt4 + " " + decstring4 + " 0" + hex4 + " " + (char)zahl4);
}
}
}
}
Alles anzeigen
Auch hier zu finden:
Und Sarkkan:
Es gibt eine andere Möglichkeit: FORMATTER!!!
1. Also zum Thema Ressourcen sage ich jetzt mal nix^^
2. Das sieht mir ein bisschen viel Code aus.. O.o Also vom Gefühl her glaube ich, dass man dafür nicht mal die hälfte bräuchte?^^
3. Es wird sicher immer andere Möglichkeiten geben Aber nur zur Information.. das solltest DU - der Java, wie er sagt, beherrscht - eher als ICH - der ein halbes Jahr im Informatik-Unterricht damit zu tun hatte - wissen, oder etwa nicht?
Edit: Habe dann mal kurz selbst was Geschrieben:
public class ASCIITabelle {
public static void main(String[] args) {
int i = 0;
String head = "------------------------\r\n" +
" Char | Dec | Oct | Hex \r\n" +
"------------------------\r\n";
String str = "";
for(i = 0; i <= 255; i++){
if(i % 25 == 0){
str += head;
}
str += " " + ((char)i) + " ";
str += "| " + padItWithZeros(Integer.toString(i, 10), 3) + " ";
str += "| " + padItWithZeros(Integer.toString(i, 8), 3) + " ";
str += "| " + padItWithZeros(Integer.toString(i, 16), 3) + "\r\n";
}
System.out.print(str);
}
public static String padItWithZeros(String str, int len){
while(str.length() != len){
str = "0" + str;
}
return str;
}
}
Alles anzeigen
Erzeugt folgende Ausgabe:
------------------------
Char | Dec | Oct | Hex
------------------------
| 000 | 000 | 000
| 001 | 001 | 001
| 002 | 002 | 002
| 003 | 003 | 003
| 004 | 004 | 004
| 005 | 005 | 005
| 006 | 006 | 006
| 007 | 007 | 007
| 008 | 010 | 008
| 009 | 011 | 009
| 010 | 012 | 00a
| 011 | 013 | 00b
| 012 | 014 | 00c
| 013 | 015 | 00d
| 014 | 016 | 00e
| 015 | 017 | 00f
| 016 | 020 | 010
| 017 | 021 | 011
| 018 | 022 | 012
| 019 | 023 | 013
| 020 | 024 | 014
| 021 | 025 | 015
| 022 | 026 | 016
| 023 | 027 | 017
| 024 | 030 | 018
------------------------
Char | Dec | Oct | Hex
------------------------
| 025 | 031 | 019
| 026 | 032 | 01a
| 027 | 033 | 01b
| 028 | 034 | 01c
| 029 | 035 | 01d
| 030 | 036 | 01e
| 031 | 037 | 01f
| 032 | 040 | 020
! | 033 | 041 | 021
" | 034 | 042 | 022
# | 035 | 043 | 023
$ | 036 | 044 | 024
% | 037 | 045 | 025
& | 038 | 046 | 026
' | 039 | 047 | 027
( | 040 | 050 | 028
) | 041 | 051 | 029
* | 042 | 052 | 02a
+ | 043 | 053 | 02b
, | 044 | 054 | 02c
- | 045 | 055 | 02d
. | 046 | 056 | 02e
/ | 047 | 057 | 02f
0 | 048 | 060 | 030
1 | 049 | 061 | 031
------------------------
Char | Dec | Oct | Hex
------------------------
2 | 050 | 062 | 032
3 | 051 | 063 | 033
4 | 052 | 064 | 034
5 | 053 | 065 | 035
6 | 054 | 066 | 036
7 | 055 | 067 | 037
8 | 056 | 070 | 038
9 | 057 | 071 | 039
: | 058 | 072 | 03a
; | 059 | 073 | 03b
< | 060 | 074 | 03c
= | 061 | 075 | 03d
> | 062 | 076 | 03e
? | 063 | 077 | 03f
@ | 064 | 100 | 040
A | 065 | 101 | 041
B | 066 | 102 | 042
C | 067 | 103 | 043
D | 068 | 104 | 044
E | 069 | 105 | 045
F | 070 | 106 | 046
G | 071 | 107 | 047
H | 072 | 110 | 048
I | 073 | 111 | 049
J | 074 | 112 | 04a
------------------------
Char | Dec | Oct | Hex
------------------------
K | 075 | 113 | 04b
L | 076 | 114 | 04c
M | 077 | 115 | 04d
N | 078 | 116 | 04e
O | 079 | 117 | 04f
P | 080 | 120 | 050
Q | 081 | 121 | 051
R | 082 | 122 | 052
S | 083 | 123 | 053
T | 084 | 124 | 054
U | 085 | 125 | 055
V | 086 | 126 | 056
W | 087 | 127 | 057
X | 088 | 130 | 058
Y | 089 | 131 | 059
Z | 090 | 132 | 05a
[ | 091 | 133 | 05b
\ | 092 | 134 | 05c
] | 093 | 135 | 05d
^ | 094 | 136 | 05e
_ | 095 | 137 | 05f
` | 096 | 140 | 060
a | 097 | 141 | 061
b | 098 | 142 | 062
c | 099 | 143 | 063
------------------------
Char | Dec | Oct | Hex
------------------------
d | 100 | 144 | 064
e | 101 | 145 | 065
f | 102 | 146 | 066
g | 103 | 147 | 067
h | 104 | 150 | 068
i | 105 | 151 | 069
j | 106 | 152 | 06a
k | 107 | 153 | 06b
l | 108 | 154 | 06c
m | 109 | 155 | 06d
n | 110 | 156 | 06e
o | 111 | 157 | 06f
p | 112 | 160 | 070
q | 113 | 161 | 071
r | 114 | 162 | 072
s | 115 | 163 | 073
t | 116 | 164 | 074
u | 117 | 165 | 075
v | 118 | 166 | 076
w | 119 | 167 | 077
x | 120 | 170 | 078
y | 121 | 171 | 079
z | 122 | 172 | 07a
{ | 123 | 173 | 07b
| | 124 | 174 | 07c
------------------------
Char | Dec | Oct | Hex
------------------------
} | 125 | 175 | 07d
~ | 126 | 176 | 07e
| 127 | 177 | 07f
? | 128 | 200 | 080
| 129 | 201 | 081
? | 130 | 202 | 082
? | 131 | 203 | 083
? | 132 | 204 | 084
? | 133 | 205 | 085
? | 134 | 206 | 086
? | 135 | 207 | 087
? | 136 | 210 | 088
? | 137 | 211 | 089
? | 138 | 212 | 08a
? | 139 | 213 | 08b
? | 140 | 214 | 08c
| 141 | 215 | 08d
? | 142 | 216 | 08e
| 143 | 217 | 08f
| 144 | 220 | 090
? | 145 | 221 | 091
? | 146 | 222 | 092
? | 147 | 223 | 093
? | 148 | 224 | 094
? | 149 | 225 | 095
------------------------
Char | Dec | Oct | Hex
------------------------
? | 150 | 226 | 096
? | 151 | 227 | 097
? | 152 | 230 | 098
? | 153 | 231 | 099
? | 154 | 232 | 09a
? | 155 | 233 | 09b
? | 156 | 234 | 09c
| 157 | 235 | 09d
? | 158 | 236 | 09e
? | 159 | 237 | 09f
| 160 | 240 | 0a0
¡ | 161 | 241 | 0a1
¢ | 162 | 242 | 0a2
£ | 163 | 243 | 0a3
¤ | 164 | 244 | 0a4
¥ | 165 | 245 | 0a5
¦ | 166 | 246 | 0a6
§ | 167 | 247 | 0a7
¨ | 168 | 250 | 0a8
© | 169 | 251 | 0a9
ª | 170 | 252 | 0aa
« | 171 | 253 | 0ab
¬ | 172 | 254 | 0ac
| 173 | 255 | 0ad
® | 174 | 256 | 0ae
------------------------
Char | Dec | Oct | Hex
------------------------
¯ | 175 | 257 | 0af
° | 176 | 260 | 0b0
± | 177 | 261 | 0b1
² | 178 | 262 | 0b2
³ | 179 | 263 | 0b3
´ | 180 | 264 | 0b4
µ | 181 | 265 | 0b5
¶ | 182 | 266 | 0b6
· | 183 | 267 | 0b7
¸ | 184 | 270 | 0b8
¹ | 185 | 271 | 0b9
º | 186 | 272 | 0ba
» | 187 | 273 | 0bb
¼ | 188 | 274 | 0bc
½ | 189 | 275 | 0bd
¾ | 190 | 276 | 0be
¿ | 191 | 277 | 0bf
À | 192 | 300 | 0c0
Á | 193 | 301 | 0c1
 | 194 | 302 | 0c2
à | 195 | 303 | 0c3
Ä | 196 | 304 | 0c4
Å | 197 | 305 | 0c5
Æ | 198 | 306 | 0c6
Ç | 199 | 307 | 0c7
------------------------
Char | Dec | Oct | Hex
------------------------
È | 200 | 310 | 0c8
É | 201 | 311 | 0c9
Ê | 202 | 312 | 0ca
Ë | 203 | 313 | 0cb
Ì | 204 | 314 | 0cc
Í | 205 | 315 | 0cd
Î | 206 | 316 | 0ce
Ï | 207 | 317 | 0cf
Ð | 208 | 320 | 0d0
Ñ | 209 | 321 | 0d1
Ò | 210 | 322 | 0d2
Ó | 211 | 323 | 0d3
Ô | 212 | 324 | 0d4
Õ | 213 | 325 | 0d5
Ö | 214 | 326 | 0d6
× | 215 | 327 | 0d7
Ø | 216 | 330 | 0d8
Ù | 217 | 331 | 0d9
Ú | 218 | 332 | 0da
Û | 219 | 333 | 0db
Ü | 220 | 334 | 0dc
Ý | 221 | 335 | 0dd
Þ | 222 | 336 | 0de
ß | 223 | 337 | 0df
à | 224 | 340 | 0e0
------------------------
Char | Dec | Oct | Hex
------------------------
á | 225 | 341 | 0e1
â | 226 | 342 | 0e2
ã | 227 | 343 | 0e3
ä | 228 | 344 | 0e4
å | 229 | 345 | 0e5
æ | 230 | 346 | 0e6
ç | 231 | 347 | 0e7
è | 232 | 350 | 0e8
é | 233 | 351 | 0e9
ê | 234 | 352 | 0ea
ë | 235 | 353 | 0eb
ì | 236 | 354 | 0ec
í | 237 | 355 | 0ed
î | 238 | 356 | 0ee
ï | 239 | 357 | 0ef
ð | 240 | 360 | 0f0
ñ | 241 | 361 | 0f1
ò | 242 | 362 | 0f2
ó | 243 | 363 | 0f3
ô | 244 | 364 | 0f4
õ | 245 | 365 | 0f5
ö | 246 | 366 | 0f6
÷ | 247 | 367 | 0f7
ø | 248 | 370 | 0f8
ù | 249 | 371 | 0f9
------------------------
Char | Dec | Oct | Hex
------------------------
ú | 250 | 372 | 0fa
û | 251 | 373 | 0fb
ü | 252 | 374 | 0fc
ý | 253 | 375 | 0fd
þ | 254 | 376 | 0fe
ÿ | 255 | 377 | 0ff
Alles anzeigen
Ich bin gerade dabei eine andere Möglichkeit zu erarbeiten.
So, ich wär dann fertig:
import java.util.Formatter;
public class ASCII2
{
public static void main(String[] args)
{
System.out.println("*** ASCII-Tabelle ***");
System.out.println();
System.out.println("Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch ");
System.out.println("------------------------------------------------------------------ ");
int zahl = 0;
for (int i = 0; i < 32; i++)
{
System.out.print(formatieren(zahl) + " ");
System.out.print(formatieren(zahl + 32) + " ");
System.out.print(formatieren(zahl + 64) + " ");
System.out.println(formatieren(zahl + 96));
zahl++;
}
}
public static String formatieren(int zahl)
{
Formatter formatter = new Formatter();
if (zahl < 32 zahl > 126)
{
return formatter.format("%1$03o %1$03d %1$03x ...", zahl).toString();
} else
{
return formatter.format("%1$03o %1$03d %1$03x %1$c ", zahl).toString();
}
}
}
Das ging auch relativ schnell.
Und was kommt jetzt?
SUDOKU lösen
Oh no :((((((
1. Warum lässt du zahl mit hoch zählen? Du hast doch schon i .__.
2. Warum erzeugst du bei jedem Aufruf von formatieren() eine neue Instanz von der Formatter-Klasse? O.o
Weißt du was das an Ressourcen frisst? >__<
Also mein Mentor hat mich vor der ganzen Abteilung gelobt?
Finde es schon besser als deinen ersten Versuch
Aber das sind noch so Sachen die mich (Perfektionisten) halt stören
Den eine Variabel zu initialisieren und wieder freizugeben ist recht aufwendig.
Und wen es sich hierbei noch um ein Objekt handelt ist das gleich noch einmal so aufwendig.
Nein, das ist relativ in Ordnung.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.