java 代码部分功能(红色部分无效果),求大神帮助。

qq_21750771 2019-08-10 10:57:28
package com.test.first;

import java.util.Random;
import java.util.Scanner;

public class KeyWord {

public static void main(String[] args) {

GuessNumbers(inPut(),inPut1());


}

public static void GuessNumbers(int num,String a) {
// 判斷輸入的兩個數是否為中文
int num1 = 0;
int num2 = 0;
int count = 0;
int end = 0;
boolean control = true;
Random ra = new Random();
int current = ra.nextInt(num);
//a = inPut1();
while (control) {
num1 = inPut();
num2 = inPut();
end = adjustment(a);
System.out.println("a =" + a);
System.out.println("end = " + end);
judge1(current, num1);
judge2(current, num2);

control = judge3(current, num1, num2, control, count,end);

count++;
System.out.println("count =" + count);
}

}

public static int inPut() {
int num = 0;
Scanner sc = new Scanner(System.in);
System.out.println("請輸入數字");
num = sc.nextInt();
return num;

}
public static String inPut1() {
String a = "";
Scanner sc = new Scanner(System.in);
System.out.println("請輸入您要調戰的級別級別有 簡單 一般 困難 殘酷 輸入任意数,默認為休閒級");
a = sc.nextLine();
return a;
}

public static void judge1(int RandNum, int num1) {
if (RandNum < num1) {
System.out.println("第一個人輸入的數太大");
} else if (RandNum > num1) {
System.out.println("第一個人輸入的數太小");
} else {
System.out.println("第一個人輸入的數和這個數一樣大");

}
}

public static void judge2(int randNum, int num1) {
if (randNum < num1) {
System.out.println("第二個人輸入的數太大");
} else if (randNum > num1) {
System.out.println("第二個人輸入的數太小");
} else {
System.out.println("第二個人輸入的數和這個數一樣大");
}
}

public static boolean judge3(int randNum, int num1, int num2, boolean control, int count,int end) {
if (randNum == num1 && randNum != num2) {
System.out.println("玩家1獲勝");
control = false;
return control;
} else if (randNum != num1 && randNum == num2) {
System.out.println("玩家2獲勝");
control = false;
return control;
} else if (randNum == num1 && randNum == num2) {
System.out.println("你們心有靈犀");
control = false;
return control;
} else if(count == end ){
System.out.println("adjustment(a)" + end);
System.out.println("你們太弱了");
//count = 20;
control = false;
return control;
}
return control;
}

public static int adjustment(String tune) {

int i = 0;
System.out.println("tune =" + tune);
int dos = 0;
String arr[] = new String[] {"Cruel","Difficult","Simple","Soso","simple"};

if(tune == arr[0]) {
dos = 4;
System.out.println("dos = 4 true");

}else if(tune == arr[1]) {
//System.out.println(dos);
dos = 8;

}else if(tune == arr[2]) {
//System.out.println(dos);
dos = 10;

}else if(tune == arr[3]) {
dos = 9;

}else {
dos = 10;



}
return dos;

}

}
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21750771 2019-08-10
  • 打赏
  • 举报
回复

以上的我这样改可以进行比较了。
能辛苦您帮我分别解释一下equals和"=="的区别吗?
我查了一下其他朋友的的说法,我的理解是equals是直接比较两个字符串的值(不考虑地址)
“==”是比较是两个值之外还有考虑地址。
麻烦您了。
northwesternwind 2019-08-10
  • 打赏
  • 举报
回复
典型的java基础错误。字符串比较应该用equals而不是用"==".
好好复习下这部分相关知识。
northwesternwind 2019-08-10
  • 打赏
  • 举报
回复
引用 2 楼 qq_21750771 的回复:

以上的我这样改可以进行比较了。
能辛苦您帮我分别解释一下equals和"=="的区别吗?
我查了一下其他朋友的的说法,我的理解是equals是直接比较两个字符串的值(不考虑地址)
“==”是比较是两个值之外还有考虑地址。
麻烦您了。

对字符串来说,可以这样理解:
==: 比较对象是否同一个对象,也就是两个对象地址一样,根本就是同一个。
equals: 比较对象的值是否相等,也就是两个字符串内容是否相等。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧