[洛谷每日一题]P5730 【深基5.例10】显示屏

这是一道打表题,但是有很多细节需要注意;上题:

[洛谷每日一题]P5730 【深基5.例10】显示屏_第1张图片

 首先,我认为题目没有说明白,补充几点

1.3×5点阵,其实是五行三列

2.每两个表示中间需要一个.作为分隔符

题解(两种处理字符串思路)

1.手动将矩阵赋值给对应的数,像洛谷题解那样

[洛谷每日一题]P5730 【深基5.例10】显示屏_第2张图片

 

2.直接复制整段,在输出时进行加工(像我这样)

[洛谷每日一题]P5730 【深基5.例10】显示屏_第3张图片

 另外,顺便复习几个Java常识:

1.字符串的处理(substring方法的使用)、读入(next和nextLine方法)

2.字符与数字的转换

3.数组常量只能在初始化操作中使用

(不说了,抽胡桃去)

下面附上AC代码:

 

package P5730;
import java.util.*;
//每个数所代表的符号是一个类


public class Main {
	public static void main(String[] args) {
		//创建表
		 String house[] = {
				"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",
		};
		//录入需要显示的信息
		 Scanner in = new Scanner(System.in);
		 int n = in.nextInt();
		 String str = in.next();
		 char temp;
		 int arr[] = new int[n];//各个数字存放在arr数组里
		 for(int i=0;i

你可能感兴趣的:(洛谷刷题记,算法)