题解1787:小O的数字 (Java描述)

解题思路:不是很好的解法,但是很暴力

注意事项:

参考代码:


public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in = new Scanner(System.in);

String num = null;

// 一行一行去打印电子数字

char[][] nums = new char[][] { { '*', '*', '*' }, // 第一行

{ '*', ' ', '*' }, // 第二行

{ '*', '*', '*' }, // 第三行

{ '*', ' ', '*' }, // 第四行

{ '*', '*', '*' },// 第五行

};

while (in.hasNext()) {

num = in.next();

int j = 0;

while (j < nums.length) {

for (int i = 0; i < num.length(); i++) {

switch (num.charAt(i)) {

case '0':

if (i == num.length() - 1) {

if (j == 2) {

System.out.print("* *");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 2) {

System.out.print("* * ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}

break;

case '1':

if (i == num.length() - 1) {

System.out.print("  "+nums[j][2]);

} else {

System.out.print("  "+nums[j][2] + " ");

}

break;

case '2':

if (i == num.length() - 1) {

if (j == 1) {

System.out.print("  *");

} else if (j == 3) {

System.out.print("*  ");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 1) {

System.out.print("  * ");

} else if (j == 3) {

System.out.print("*   ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}

break;

case '3':

if (i == num.length() - 1) {

if (j == 1 || j == 3) {

System.out.print("  *");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 1 || j == 3) {

System.out.print("  * ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}


break;

case '4':

if (i == num.length() - 1) {

if (j == 0) {

System.out.print("* *");

} else if (j == 3 || j == 4) {

System.out.print("  *");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 0) {

System.out.print("* * ");

} else if (j == 3 || j == 4) {

System.out.print("  * ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}

break;

case '5':

if (i == num.length() - 1) {

if (j == 1) {

System.out.print("*  ");

} else if (j == 3) {

System.out.print("  *");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 1) {

System.out.print("*   ");

} else if (j == 3) {

System.out.print("  * ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}


break;

case '6':

if (i == num.length() - 1) {

if (j == 1) {

System.out.print("*  ");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 1) {

System.out.print("*   ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}


break;

case '7':

if (i == num.length() - 1) {

if (j == 0) {

System.out.print(String.valueOf(nums[j]));

} else {

System.out.print("  *");

}

} else {

if (j == 0) {

System.out.print(String.valueOf(nums[j]) + " ");

} else {

System.out.print("  * ");

}

}


break;

case '8':

if (i == num.length() - 1) {

System.out.print(String.valueOf(nums[j]));

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}


break;

case '9':

if (i == num.length() - 1) {

if (j == 3) {

System.out.print("  *");

} else {

System.out.print(String.valueOf(nums[j]));

}

} else {

if (j == 3) {

System.out.print("  * ");

} else {

System.out.print(String.valueOf(nums[j]) + " ");

}

}


break;

}

}

System.out.println();

j++;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值