Java A跟随B,坐标为100,-100
如果或在java中形成时,我如何使用Java A跟随B,坐标为100,-100,java,arrays,Java,Arrays,如果或在java中形成时,我如何使用实现这一点,结果将在最后显示出来 //intelligent next direction //0 -> up, 1 -> right, 2 -> down, 3 -> left static int nextIntelligent(int p1, int p2, int q1, int q2) 我希望你能理解我的意思{ Intelligente Verfolgung Position A: (21, -2) Position
实现这一点,结果将在最后显示出来
//intelligent next direction
//0 -> up, 1 -> right, 2 -> down, 3 -> left
static int nextIntelligent(int p1, int p2, int q1, int q2)
我希望你能理解我的意思{
Intelligente Verfolgung
Position A: (21, -2)
Position B: (21, -2)
Anzahl der Schritte: 24
公共静态void main(字符串[]args){
int a1,a2,b1=0,b2=0,xA,yA,xB,yB;
int pos,计数=0;
////////告诉我
系统输出打印(“1.Koordinate von A:”);
a1=SavitchIn.readLineInt();
系统输出打印(“2.Koordinate von A:”);
a2=SavitchIn.readLineInt();
如果(a1>100){
a1=100;
}
否则,如果(a1<-100){
a1=-100;
}
如果(a2>100){
a2=100;
}
否则,如果(a2<-100){
a2=-100;
}
xA=a1;
yA=a2;
xB=b1;
yB=b2;
while(isSamePosition(a1、a2、b1、b2)=false){
pos=nextDirection();
如果(位置==0&&a2<100){
a2++;
计数++;
}
否则如果(位置==1&&a1<100){
a1++;
计数++;
}
否则如果(位置==2&&a2>-100){
a2--;
计数++;
}
否则如果(位置==3&&a1>-100){
a1--;
计数++;
}
如果(isSamePosition(a1、a2、b1、b2)=假){
pos=nextDirection();
如果(位置==0&&b2<100){
b2++;
}
否则如果(位置==1和b1<100){
b1++;
}
否则如果(位置==2&&b2>-100){
b2--;
}
否则如果(位置==3&&b1>-100){
b1--;
}
}
}
System.out.println(“Alles Zufall”);
系统输出打印项次(“位置A:(“+a1+”,“+a2+”);
系统输出打印项次(“位置B:(“+b1+”,“+b1+”);
系统输出打印(Anzahl der Schritte:+计数);
}
静态int nextDirection(){
int random=PRNG.randomInt(4);
返回随机;
}
静态布尔值isSamePosition(int p1、int p2、int q1、int q2){
布尔相同=假;
如果(p1==q1&&p2==q2){
相同=正确;
}
返回相同的值;
}
静态int-nextIntelligent(int-xA、int-yA、int-xB、int-yB){
返回-1;
}
}
“我希望你能理解我的意思”,不幸的是,你没有理解。后退几步。我们不知道你在做什么。不管你在这个问题上被困多久了。我们正在用新的眼光看待它。让这对我们来说更容易。获得答案的很大一部分在于准确地描述你的问题。B现在应该使用稍微聪明一点的策略(A和B的起始位置与第1部分相同)。如果第一个坐标的距离大于或等于第二个坐标的距离,则沿第一个坐标围绕方向a的位置进行移动,否则沿方向a的第二个坐标进行移动。为此,将采用nextIntelligent方法,这决定了相应的方向你仍然没有给我们任何你想要完成的事情的背景。“稍微聪明一点的策略”比什么?如果第一个坐标的距离是什么坐标?我是编程新手,我有一个家庭作业,这说明了这一点,我现在不知道怎么说,那么你最好去问你的老师或同学。他们将了解问题的全部背景,并能够帮助您。为了将来,请阅读
public class Bsp04 {
public static void main(String[] args) {
int a1, a2, b1 = 0, b2 = 0, xA, yA, xB, yB;
int pos, count = 0;
//////// TEIL I
System.out.print("1. Koordinate von A: ");
a1 = SavitchIn.readLineInt();
System.out.print("2. Koordinate von A: ");
a2 = SavitchIn.readLineInt();
if (a1 > 100) {
a1 = 100;
}
else if (a1 < -100) {
a1 = -100;
}
if (a2 > 100) {
a2 = 100;
}
else if (a2 < -100) {
a2 = -100;
}
xA = a1;
yA = a2;
xB = b1;
yB = b2;
while(isSamePosition(a1, a2, b1, b2) == false){
pos = nextDirection();
if (pos == 0 && a2 < 100) {
a2++;
count++;
}
else if (pos == 1 && a1 < 100) {
a1++;
count++;
}
else if (pos == 2 && a2 > -100) {
a2--;
count++;
}
else if (pos == 3 && a1 > -100) {
a1--;
count++;
}
if (isSamePosition(a1, a2, b1, b2) == false) {
pos = nextDirection();
if (pos == 0 && b2 < 100) {
b2++;
}
else if (pos == 1 && b1 < 100) {
b1++;
}
else if (pos == 2 && b2 > -100) {
b2--;
}
else if (pos == 3 && b1 > -100) {
b1--;
}
}
}
System.out.println("Alles Zufall");
System.out.println(" Position A: (" + a1 +", " + a2 +")");
System.out.println(" Position B: (" + b1 +", " + b1 +")");
System.out.println(" Anzahl der Schritte: " + count);
}
static int nextDirection(){
int random = PRNG.randomInt(4);
return random;
}
static boolean isSamePosition (int p1, int p2, int q1, int q2){
boolean same = false;
if (p1 == q1 && p2 == q2) {
same = true;
}
return same;
}
static int nextIntelligent(int xA, int yA, int xB, int yB){
return -1;
}
}