/*
Enter a number beteewn 0 and 511: 7
H H H
H H H
T T T
Enter a number beteewn 0 and 511: 511
T T T
T T T
T T T
*/
import java.util.Scanner;
public class Coin {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a number beteewn 0 and 511: ");
int number = input.nextInt();
showMatrix(number);
}
public static void showMatrix(int n) {
int[] b = toBinary(n);
char[] ch = new char[b.length];
for (int i = 0; i < b.length; i++) {
if (b[i] == 0)
ch[i] = 'H';
else
ch[i] = 'T';
}
showCoinMatrix(ch);
}
public static int[] toBinary(int n) {
int digits = 9;
int[] binary = new int[digits];
while (n != 0) {
binary[--digits] = n % 2;
n /= 2;
}
return binary;
}
public static void showCoinMatrix(char[] ch) {
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i] + " ");
if ((i+1) % 3 == 0)
System.out.println();
}
}
}
Introduction to Java Programming编程题7.11<硬币游戏:显示正反面>
最新推荐文章于 2022-08-29 11:34:16 发布