【Java】P5730 显示屏—数组&switch语句—(OJ:洛谷)
题目
题目来源:洛谷OJ
题目描述
液晶屏上,每个阿拉伯数字都是可以显示成 3×5 的点阵的(其中 X 表示亮点,. 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。
输入格式
无
输出格式
无
输入输出样例
输入 #1复制
10
0123456789
输出 #1复制
XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX
X.X...X...X...X.X.X.X...X.....X.X.X.X.X
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX
X.X...X.X.....X...X...X.X.X...X.X.X...X
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX
思路
将每个数组的存储到字符串数组中,通过switch语句判断输出
Java源代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
/**
*@Title P5730显示屏.java
*@description TODO
*@time 2020年7月28日
*@author Baisu
*@version 1.0
*/
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
int n = Integer.parseInt(br.readLine());
String a = br.readLine();
char b[] = a.toCharArray();
String s0 [] = {"XXX","X.X","X.X","X.X","XXX"};
String s1 [] = {"..X","..X","..X","..X","..X"};
String s2 [] = {"XXX","..X","XXX","X..","XXX"};
String s3 [] = {"XXX","..X","XXX","..X","XXX"};
String s4 [] = {"X.X","X.X","XXX","..X","..X"};
String s5 [] = {"XXX","X..","XXX","..X","XXX"};
String s6 [] = {"XXX","X..","XXX","X.X","XXX"};
String s7 [] = {"XXX","..X","..X","..X","..X"};
String s8 [] = {"XXX","X.X","XXX","X.X","XXX"};
String s9 [] = {"XXX","X.X","XXX","..X","XXX"};
for(int i=0; i<5; i++) {
for(int j=0; j<n; j++) {
int t = b[j]-48;
switch(t) {
case 0:
pw.print(s0[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 1:
pw.print(s1[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 2:
pw.print(s2[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 3:
pw.print(s3[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 4:
pw.print(s4[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 5:
pw.print(s5[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 6:
pw.print(s6[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 7:
pw.print(s7[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 8:
pw.print(s8[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
case 9:
pw.print(s9[i]);
if(j!=n-1) {
pw.print(".");
}
continue;
}
}
pw.println();
}
pw.flush();
}
}