⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 robots.java

📁 模拟机器人在平原上的行进行为
💻 JAVA
字号:
package robots;
import java.util.*;
import java.io.*;

public class Robots {
Robots()
{}
String[] plain= new String[100];
char direction;
int s=0,q=0,s1=0,q1=0,i;

public String[] getstring()throws Exception/*得到每一行字符串*/
{

 Scanner scanner=new Scanner(new File("input.txt"));
 String line;
 for(this.i=0; (line=scanner.nextLine()).compareTo("n")!=0; this.i++)
 {plain[this.i]=line;
 
 }
 return plain;
}

public void matrix(String num)/*首行解决方案*/
{
 s=(int)(num.charAt(0))-48;
 q=(int)(num.charAt(2))-48;
}

public char beginning(String num)/*次行解决方案*/
{
 s1=(int)(num.charAt(0))-48;
 q1=(int)(num.charAt(2))-48;
 direction=(num.charAt(4));
 return(direction);
}

public void move()/*行进方法*/
{switch(direction)
   {case 'N': q1=q1+1; break;
	case 'S': q1=q1-1; break;
	case 'E': s1=s1+1; break;
	case 'W': s1=s1-1; break;
   }	
}

public void turn(char control)/*转向方案*/
{
 switch(direction)
 {case 'N': if(control=='L') direction='W';
            else direction='E'; break;
  case 'S': if(control=='L') direction='E';
            else direction='W'; break;
  case 'E': if(control=='L') direction='N';
            else direction='S'; break;
  case 'W': if(control=='L') direction='S';
            else direction='N'; break;          	 
 }
}
public void moving(String num)/*移动方案*/
{int length=num.length();
 for(int z=0;length!=0;z++,length--)
 {switch(num.charAt(z))
	 {case 'M': move(); break;
	  case 'L': turn('L');break;
	  case 'R': turn('R');break;
	 }
 }
  
}


public void choosestring(String num,int number)/*辨别使用哪个查找,string num为字符串,int number为的几行*/
{if(number==0)
 this.matrix(num);	
 else if(number%2==1)
 this.beginning(num);
 else if(number%2==0)this.moving(num);
 if(number!=0 && number%2==0)
	 System.out.print("the consequence is "+s1+","+q1);
}


public static void main(String[] args)throws Exception
{   Robots arobot=new Robots();
    arobot.getstring();
    System.out.print(arobot.getstring());
    for(int k=0;arobot.i!=0;k++,arobot.i--)
    {System.out.print(arobot.plain[k]);
	 arobot.choosestring(arobot.plain[k],k);
    }
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -