Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 407|回复: 0

JAVA面向对象解决实际问题实例(一)

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-7-16 09:49:45 | 显示全部楼层 |阅读模式

    某次战役中,为便于信息交互,我军侦察部门将此次战役的关键高地坐标设定为(x=0y=0)并规定,每向东增加100米,x1,每向北增加100米,y1。同时,我军情报部门也破译了敌军向坦克发送的指挥信号,其中有三种信号(L,R,M)用于控制坦克的运动,L R 分别表示使令坦克向左、向右转向,M 表示令坦克直线开进100米,其它信号如T用于时间同步,P用于位置较准。

    一日,我军侦察兵发现了敌军的一辆坦克,侦察兵立即将坦克所在坐标(P, Q)及坦克前进方向(W:西,E:东,N:北,S:南)发送给指挥部,同时启动信号接收器,将坦克接收到的信号实时同步发往指挥部,指挥部根据这些信息得以实时掌控了该坦克的位置,并使用榴弹炮精准地击毁了该坦克。

    假设,侦察兵发送给指挥部的信息如下:

    坦克坐标:(1139

    坦克运行方向:W

    坦克接收到的信号为:MTMPRPMTMLMRPRMTPLMMTLMRRMP

    请通过编程计算出坦克所在的位置(编程语言不限)

     

    Java的实现代码如下:

     1 package bst;
     2 
     3 public class Bst {
     4     //坦克初始坐标
     5     ZB zb = new ZB(11,39);
     6     //坦克初始运行方向
     7     String direction = "W";
     8     
     9     //根据接收到的信号编程计算出坦克最终的坐标
    10     public ZB getZB(String news){
    11         
    12         String[] str = news.split("");
    13         
    14         for(int i = 0;i<str.length;i++){
    15             if("L".equals(str)){
    16                 switch (direction) {
    17                 case "W":direction="S";break;
    18                 case "E":direction="N";break;
    19                 case "N":direction="W";break;
    20                 case "S":direction="E";break;
    21                 default:break;
    22                 }
    23             }else if("R".equals(str)){
    24                 switch (direction) {
    25                 case "W":direction="N";break;
    26                 case "E":direction="S";break;
    27                 case "N":direction="E";break;
    28                 case "S":direction="W";break;
    29                 default:break;
    30                 }
    31             }else if("M".equals(str)){
    32                 switch (direction) {
    33                 case "W":zb.setX(zb.getX()-1);break;
    34                 case "E":zb.setX(zb.getX()+1);break;
    35                 case "N":zb.setY(zb.getY()+1);break;
    36                 case "S":zb.setY(zb.getY()-1);break;
    37                 default:break;
    38                 }
    39             }
    40         }
    41         
    42         return zb;
    43         
    44     }
    45     
    46     //打印出坦克的最终坐标
    47     public static void main(String[] args) {
    48         Bst bst = new Bst();
    49         ZB zb = bst.getZB("MTMPRPMTMLMRPRMTPLMMTLMRRMP");
    50         System.out.println("坦克所在的位置为:"+zb.toString());
    51     }
    52 
    53 }
    54 
    55 //坦克坐标类
    56 class ZB{
    57     int x;
    58     int y;
    59     
    60     public ZB(int x, int y) {
    61         super();
    62         this.x = x;
    63         this.y = y;
    64     }
    65 
    66     public int getX() {
    67         return x;
    68     }
    69     
    70     public void setX(int x) {
    71         this.x = x;
    72     }
    73     
    74     public int getY() {
    75         return y;
    76     }
    77     
    78     public void setY(int y) {
    79         this.y = y;
    80     }
    81     
    82     //重写toString方法
    83     public String toString(){
    84         return "("+x+","+y+")";
    85     }
    86 }
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-31 23:44 , Processed in 0.064089 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表