居左


私信TA

用户名:JZ50

访问量:70729

签 名:

楼下你的分数已经再次被超越!!快刷!!

等  级
排  名 32
经  验 13593
参赛次数 2
文章发表 109
年  龄 0
在职情况 学生
学  校 99
专  业

  自我简介:

解题思路:

    这题考察 switch, 按数字和行号区分图案即可



注意事项:





参考代码:

import java.util.Scanner;

public class C1787 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int n = sc.nextInt();
			String num = String.valueOf(n);
			for(int i = 1; i <= 5; i++){
				for(int j = 0; j < num.length()-1; j++){
					System.out.printf("%s ", F(Integer.valueOf(""+num.charAt(j)), i));
				}
				System.out.printf("%s\n", F(Integer.valueOf(""+num.charAt(num.length()-1)), i));
			}
			
		}
		sc.close();
	}
	
	private static String F(int num, int line){
		switch(num){
			case 0:
				if(line == 1 || line == 5)
					return "***";
				else 
					return "* *";
			case 1:
				return "  *";
			case 2:
				if(line % 2 == 1)
					return "***";
				else if(line == 2)
					return "  *";
				else 
					return "*  ";
			case 3:
				if(line % 2 == 1)
					return "***";
				else 
					return "  *";
			case 4:
				if(line < 3)
					return "* *";
				else if(line == 3)
					return "***";
				else 
					return "  *";
			case 5:
				if(line % 2 == 1)
					return "***";
				else if(line == 2)
					return "*  ";
				else 
					return "  *";
			case 6:
				if(line % 2 == 1)
					return "***";
				else if(line == 2)
					return "*  ";
				else 
					return "* *";
			case 7:
				if(line == 1)
					return "***";
				else 
					return "  *";
			case 8:
				if(line % 2 == 1)
					return "***";
				else 
					return "* *";
			case 9:
				if(line % 2 == 1)
					return "***";
				else if(line == 2)
					return "* *";
				else
					return "  *";
		}
		return "";
	}
	
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区