我正在尝试比较两个输入的第一个字母,例如“马”和“苹果”,并查看较大者,然后根据条件打印“是”或“否”。
当我将j的值赋给number1和number2时,它们在赋值后仍然保持为零。因此,在“是”和“否”if语句之前,如果您是Sysout number1和number2,则它们的值均为0。
我想知道为什么作业没有进行。谢谢!
此外,这是我试图解决的问题(如果您需要):https://www.hackerrank.com/challenges/java-strings-introduction/problem
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String A=sc.next();
String B=sc.next();
int addition = A.length() + B.length();
int number1 = 0;
int number2 = 0;
String[] Alphabet = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
for (int j = 0; j < 25; j++) {
if (A.substring(0) == Alphabet[j]){
number1 = j;
break;
}
}
for (int j = 0; j < 25; j++) {
if (B.substring(0) == Alphabet[j]){
number2 = j;
break;
}
}
if (number1 > number2) {
System.out.println("Yes");
}
else {
System.out.println("No");
}
}
}
答案 0 :(得分:-2)
比较java中的字符串值应该使用equals()而不是==,因为==比较这些字符串对象的引用。使用equals()进行字符串比较可以解决您的问题!!