Input two integers, for the start and end of an ascii code chart. If the two int
ID: 3870278 • Letter: I
Question
Input two integers, for the start and end of an ascii code chart.
If the two integers are out of order, swap them.
If the start integer is less than 32, set it to 32.
If the end integer is greater than 255, set it to 255.
Declare a named constant for the number of characters per line, such as 10
For each number from start to end, inclusive, print out the number followed by a colon (:) followed by the character with that ascii code followed by a space. (Hint: use a typecast.)
Count the number of characters on the line as you print them. If the count is equal to your named constant, set the count back to o and go to the next line.
Sample run, with 10 as the named constant's value:
start? 120
end? 62
62:> 63:? 64:@ 65:A 66:B 67:C 68:D 69:E 70:F 71:G 72:H 73:I 74:J 75:K 76:L 77:M 78:N 79:O 80:P 81:Q 82:R 83:S 84:T 85:U 86:V 87:W 88:X 89:Y 90:Z 91:[ 92: 93:] 94:^ 95:_ 96:` 97:a 98:b 99:c 100:d 101:e 102:f 103:g 104:h 105:i 106:j 107:k 108:l 109:m 110:n 111:o 112:p 113:q 114:r 115:s 116:t 117:u 118:v 119:w 120:x
This is what i have so far
public static void main(String[] args) {
int i;
for (i=32; i<=255; i++) {
System.out.println(i + ": " + (char)i);
}
}
}
Explanation / Answer
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Start: ");
int s = scanner.nextInt();
System.out.print("End: ");
int e = scanner.nextInt();
if (s > e){
int temp = s;
s = e;
e = temp;
}
if (s<32)
s=32;
if (e>255)
e=255;
int noCharInLine = 10;
for (; s<=e; noCharInLine--,s++) {
if (noCharInLine == 0) {
System.out.print(" ");
noCharInLine = 10;
}
System.out.print(s + ": " + (char)s +" ");
}
}