为打印数的那个题通过不了啊,求解
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] str = { "66666", "6...6", "....6", "6....", "6...6" };
int[][] num = { { 0, 1, 1, 1, 0 }, { 2, 2, 2, 2, 2 },
{ 0, 2, 0, 3, 0 }, { 0, 2, 0, 2, 0 }, { 4, 4, 0, 2, 2 },
{ 0, 3, 0, 2, 0 }, { 0, 3, 0, 1, 0 }, { 0, 2, 2, 2, 2 },
{ 0, 1, 0, 1, 0 }, { 0, 1, 0, 2, 0 } };
int n = scanner.nextInt();
String[] strings = new String[n];
for (int i = 0; i < n; i++) {
strings[i] = scanner.next();
}
for (int i = 0; i < n; i++) {
String exp = strings[i];
int num1 = 0;
int num2 = 0;
char sample = 0;
for (int j = 0; j < exp.length(); j++) {
if (exp.charAt(j) == '*' || exp.charAt(j) == '-'
|| exp.charAt(j) == '+') {
num1 = Integer.valueOf(exp.substring(0, j));
num2 = Integer.valueOf(exp.substring(j + 1));
sample = exp.charAt(j);
break;
}
}
int result = 0;
if (sample == '-')
result = num1 - num2;
if (sample == '+')
result = num1 + num2;
if (sample == '*')
result = num1 * num2;
char[] charArray = String.valueOf(result).toCharArray();
for (int j = 0; j < 5; j++) {// 层数
for (int k = 0; k < charArray.length - 1; k++) {// 表示每一位的数字
String string = str[num[charArray[k] - '0'][j]]+"..";
System.out.print(string);
}
System.out
.println(str[num[charArray[charArray.length - 1] - '0'][j]]);
}
}
scanner.close();
}
}
求求大佬解答额。
#笔试题目##面经#
查看28道真题和解析