1. 程式人生 > >ThoughtWorks線上程式設計題解體驗

ThoughtWorks線上程式設計題解體驗

題目我忘記了,大致意思是:

輸入任意數字,打印出相對應得字元

例如:
這裡寫圖片描述

不多說了直接上題解吧

import java.util.Scanner;
import java.util.Stack;

public class ThoughtWorks_test {
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        String n=sc.nextLine();
        String  a[]={"._.\n|.|\n|_|",
                "...\n..|\n..|"
, "._.\n._|\n|_.", "._.\n._|\n._|", "...\n|_|\n..|", "._.\n|_.\n._|", "._.\n|_.\n|_|", "._.\n..|\n..|", "._.\n|_|\n|_|", "._.\n|_|\n..|"}; char N[]=n.toCharArray(); { Stack<Long> stack = new
Stack<>(); int count = N.length; for (int i=count-1;i>=0;i--){ stack.push((long) (N[i]-'0')); } String S[][] = new String[count + 1][]; for (int i = 0; i < count; i++) { S[i] = a[Math.toIntExact(stack.pop())].split("\n"
); } for (int i = 0; i < 3; i++) { for (int j = 0; j < count; j++) if (j == count - 1) System.out.print(S[j][i]); else System.out.print(S[j][i] + " "); System.out.println(); } } } }

解析:

應該不算難,程式碼也相對比較得的簡陋無非就是將0-9這十個字元中的每一個字元都用字元陣列來表示,這樣就有一個長度為10的二維字元陣列,然後再利用for和if輕鬆的將其打印出來

小結

除錯花了半個小時,題目雖然簡單,但探險的過程還是花了不少的時間