/*
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 发布
本文介绍了一个简单的Java程序,该程序能够将输入的0到511之间的整数转换为由'H'和'T'组成的三维硬币矩阵。通过将数字转换为其二进制表示形式,并进一步映射为硬币的正面和反面来实现这一目标。
843

被折叠的 条评论
为什么被折叠?



