用java代码写出下方描述的算法题: Joler在一个半径为r(1≤r≤100)的圆桌上玩机器人,他可以向机器人发送四种指令使它移动。设机器人的位置为(x,y),则他的指令效果如下: U :移动到(x +1.y); D :移动到(x-1,y): R:移动到(x,y+ 1); L:移动到(x,y-1); 机器人的起始位置在圆桌的正中心(0,0)处,给出Joler的指令序列,机器人会严格按照顺序执行指令。如果操作中任意时刻机器人掉下了圆桌,则输出"Oops!" ;反之若机器人全程没有掉下圆桌,则输出"Perfect!" (均不含引号)
时间: 2023-04-06 09:01:43 浏览: 69
以下是Java代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int r = scanner.nextInt();
int x = 0, y = 0;
String s = scanner.next();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case 'U':
x++;
break;
case 'D':
x--;
break;
case 'R':
y++;
break;
case 'L':
y--;
break;
}
if (x * x + y * y > r * r) {
System.out.println("Oops!");
return;
}
}
System.out.println("Perfect!");
}
}
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)