蓝桥杯 贪吃蛇长度java实现

2021/6/6 20:25:36

本文主要是介绍蓝桥杯 贪吃蛇长度java实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。
如上图,是游戏时画面截图。
其中,H表示蛇头,T表示蛇尾。#表示蛇的身体,@表示身体交叉重叠的地方。
你能说出现在的贪吃蛇长度是多少吗?

其实,只要数出#的数目算1,数出@的数目,算2,再加上头尾各算1就计算好了。

人工数一下?太累眼睛了,聪明的你为什么不让计算机帮忙呢?

本题的要求就是: 请填写上图中贪食蛇的长度是多少?

注意:需要提交的是一个整数,不要添加任何多余内容(比如说明或注释)
+————————————————-+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
+————————————————-+

这道题比较简单。我们可以考虑把输入的东西用字符串存储,每一行存储为一个串,然后用循环遍历string,把它存储为chararray即可。

之后再用判断语句来实现题目要求。代码如下:

import java.util.Scanner;

public class 贪吃蛇长度 {
public static void main(String[] args) {
String s[] = {
         "H######                      ####            |",
         "|          #                      #  #            |",
         "|          #                      #  #            |",
         "|          #     ####             #  #            |",
         "|          #     #  #             #  #            |",
         "|          ######@###             #  #            |",
         "|                #       ####     #  #            |",
         "|                #       #  #     #  #            |",
         "|            ####@#######@###     #  #            |",
         "|            #   #       #        #  #            |",
         "| T          #####       #        #  #   ##       |",
         "| #                      #      ###  ### ##       |",
         "| ################       #      #      ####       |",
         "|                #       #      #         #       ",
         "|   ##############       #######@##########       |",
         "|   #                         ###                 |",
         "|   ###########################"        
};
char[][] arr = new char[60][30];
for (int i = 0; i <s.length; i++) {
    arr[i] = s[i].toCharArray();
}
int ans = 0;
for (int i = 0; i < 60; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        if(arr[i][j]  == '#'||arr[i][j]  == 'T'||arr[i][j]  == 'H') {
            ans++;
        }else if (arr[i][j] == '@') {
            ans+=2;
        }
    }

}
System.out.println(ans);
}

}

 



这篇关于蓝桥杯 贪吃蛇长度java实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程