Java 检查第一个字符串是否小于或等于第二个字符串中的对应字母
我试着拿两条线来比较它们的长度。如果它们的长度不相等,程序将简单地打印“Bye”,但是如果它们相等,我想检查第一个字符串中的每个字母是否小于或等于第二个字符串中的对应字母。如果该值成立,则应打印为TRUE,否则应打印为FALSEJava 检查第一个字符串是否小于或等于第二个字符串中的对应字母,java,string,loops,integer,Java,String,Loops,Integer,我试着拿两条线来比较它们的长度。如果它们的长度不相等,程序将简单地打印“Bye”,但是如果它们相等,我想检查第一个字符串中的每个字母是否小于或等于第二个字符串中的对应字母。如果该值成立,则应打印为TRUE,否则应打印为FALSE import java.util.Scanner; public class hw3_task2 { public static void main(String[] args) { Scanner in = new Scanner(System.in)
import java.util.Scanner;
public class hw3_task2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.printf("Enter the first string: ");
String a = in.nextLine();
System.out.printf("Enter the second string: ");
String b = in.nextLine();
char [] _a = a.toCharArray();
char [] _b = b.toCharArray();
if (a.length() == b.length());
boolean flag = true;
for(int i = 0; i < a.length(); i++){
System.out.printf("TRUE\n");
System.out.printf("Bye\n");
if( _a[i] != _b[i]){
flag = false;
System.out.printf("Bye\n");
}
}
}
}
import java.util.Scanner;
公共级hw3_任务2{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.printf(“输入第一个字符串:”);
字符串a=in.nextLine();
System.out.printf(“输入第二个字符串:”);
字符串b=in.nextLine();
char[]_a=a.toCharArray();
char[]_b=b.toCharArray();
如果(a.length()==b.length());
布尔标志=真;
对于(int i=0;i
是,使用长度方法使用for循环
您可以使用在给定位置获取字母
String
实现CharSequence
,因此您可以执行a.charAt(i)代码>是,使用长度方法使用for循环
您可以使用在给定位置获取字母
String
实现CharSequence
,因此您可以执行a.charAt(i)代码>我喜欢pyb建议的字符序列()
,但我自己的第一直觉是字符数组。我想他们两个的工作原理是一样的。我不想为您编写整个代码,但我希望这能帮助您
char [] _a = a.toCharArray(); // note 1
//do the same for the b string here...
else if (a.length() == b.length());
for(int i = 0; i < a.length; i++){ // note 2
//compare each character here..
}
System.out.printf("Bye");
}
结果生成一个数组字符
[丙]
[a]
[t]
现在我们用stringb
执行相同的操作
String b = cat
char[] _b = b.toCharArray();
这(因为字符串是等效的)将导致等效数组。。但是,您必须测试这一点以确保
为了测试这些数组的等价性,我们必须根据相应的索引测试每个索引。。。我们将使用for
循环来执行此操作
如上所示,该for循环[注2]设置为与阵列长度相同的旋转次数。(我现在不知道如何表达这个,我今晚用词不好,所以如果你能表达得更好,请做…)然后我们将把每个索引与这里的索引进行比较
boolean flag = true;
for(int i = 0; i < a.length; i++){
// ( or > or < or >= or <= ) however it is you wish to compare these
if( _a[i] != _b[i]){
flag = false;
}
}
将您的System.out.print移到循环之外
每次你的循环经过它时,都会打印“再见”
试试打印Flag和bye的station…我喜欢pyb建议的字符序列()
,但我自己的第一反应是字符数组。我想他们两个的工作原理是一样的。我不想为您编写整个代码,但我希望这能帮助您
char [] _a = a.toCharArray(); // note 1
//do the same for the b string here...
else if (a.length() == b.length());
for(int i = 0; i < a.length; i++){ // note 2
//compare each character here..
}
System.out.printf("Bye");
}
结果生成一个数组字符
[丙]
[a]
[t]
现在我们用stringb
执行相同的操作
String b = cat
char[] _b = b.toCharArray();
这(因为字符串是等效的)将导致等效数组。。但是,您必须测试这一点以确保
为了测试这些数组的等价性,我们必须根据相应的索引测试每个索引。。。我们将使用for
循环来执行此操作
如上所示,该for循环[注2]设置为与阵列长度相同的旋转次数。(我现在不知道如何表达这个,我今晚用词不好,所以如果你能表达得更好,请做…)然后我们将把每个索引与这里的索引进行比较
boolean flag = true;
for(int i = 0; i < a.length; i++){
// ( or > or < or >= or <= ) however it is you wish to compare these
if( _a[i] != _b[i]){
flag = false;
}
}
将您的System.out.print移到循环之外
每次你的循环经过它时,都会打印“再见”
尝试打印Flag和bye的语句…您必须循环字符串中的各个字符
for (int x = 0; x < a.length(); x++) {
if (a.charAt (x) > b.charAt (x)) {
System.out.println ("First String is BIGGER");
// maybe break now ?
}
}
for(int x=0;xb.charAt(x)){
System.out.println(“第一个字符串更大”);
//也许现在休息?
}
}
必须循环字符串中的各个字符
for (int x = 0; x < a.length(); x++) {
if (a.charAt (x) > b.charAt (x)) {
System.out.println ("First String is BIGGER");
// maybe break now ?
}
}
for(int x=0;xb.charAt(x)){
System.out.println(“第一个字符串更大”);
//也许现在休息?
}
}
您不能简单地使用该功能吗?它似乎正是您所需要的:
String a = "cats";
String b = "cuts";
String result = "";
if(a.length() != b.length()){
result = "BYE";
}
else if (a.compareTo(b) <= 0){
result = "TRUE";
}
else{
result = "FALSE";
}
System.out.println(result);
String a=“猫”;
字符串b=“切割”;
字符串结果=”;
如果(a.长度()!=b.长度()){
结果=“再见”;
}
否则,如果(a)与(b)相比,您不能简单地使用该函数吗?它似乎正是您所需要的:
String a = "cats";
String b = "cuts";
String result = "";
if(a.length() != b.length()){
result = "BYE";
}
else if (a.compareTo(b) <= 0){
result = "TRUE";
}
else{
result = "FALSE";
}
System.out.println(result);
String a=“猫”;
字符串b=“切割”;
字符串结果=”;
如果(a.长度()!=b.长度()){
结果=“再见”;
}
如果(a)与(b)相比通过比较字母是否更小…你是什么意思?你需要把你的字符串转换成字符数组,所以请考虑把它们都放进字符数组中,并与一个for循环比较……我相信这意味着‘a’比B’小,如果它们被赋予了a=1和b=2的值。<代码> char a=‘a’;char b=‘b’;如果(a<b)通过比较字母是否更小…你是什么意思?你需要把你的字符串转换成字符数组,所以考虑一下它的两个字符就变成字符数组,并与一个for循环进行比较……我相信这意味着‘a’比B’小,如果它们被赋予了a=1和b=2的值。<代码> char a=‘a’;char b=‘b’;(a
??我有点困惑!我如何将每个字母与对应的第二个字符串进行比较?如果我硬编码,那么它将被限制为多少个字母,对吗?在代码的这一点上,它们的长度相同,所以你可以比较a.charAt(I)和b.charAt(I)没问题。你是对的,避免硬编码。这通常是一个非常糟糕的做法。几乎总是有办法使代码灵活,例如在这里使用length()。是的,先生,但它可以是任意数量的字母,对吗?我是不是想得太多了