为打印数的那个题通过不了啊,求解
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(); } }
求求大佬解答额。
#笔试题目##面经#