子字符串不等于第一个字符的字符串
Substring not equal to the string of the first character
我正在努力找出我的代码有什么问题。当用户输入“apple”时,我发现它不是以元音开头的。
import java.util.*;
public class StringeExerciseElearn {
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
System.out.println("Type a word: ");
String input = k.next();
String l = input.substring(0);
String a = "a";
String e = "e";
String i = "i";
String o = "o";
String u = "u";
if(l.equals(a) || l.equals(e) || l.equals(i) || l.equals(o) || l.equals(u))
System.out.println(input + " begins with a vowel!");
else
System.out.println(input + " doesn't begin with a vowel");
}
}
}
你使用substring方法有误,你应该在第一个参数中说出开始位置,在第二个参数中说出结束位置:
String l = input.substring(0, 1);
现在一切正常:) :
Type a word:
apple
apple begins with a vowel!
使用 String 的 startWith 方法,就可以了。
public class Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner k = new Scanner(System.in);
System.out.println("Type a word: ");
String input = k.next();
String l = input;
String a = "a";
String e = "e";
String i = "i";
String o = "o";
String u = "u";
if (l.startsWith(a) || l.startsWith(e) || l.startsWith(i) || l.startsWith(o) || l.startsWith(u))
System.out.println(input + " begins with a vowel!");
else
System.out.println(input + " doesn't begin with a vowel");
}
input.substring(0)
returns 从索引 0 开始并扩展字符串长度的字符串。换句话说,它 returns 输入字符串;例如"apple".substring(0)
returns“苹果”。
要获取单个字符子字符串,您需要使用同时采用开始索引和结束索引的子字符串方法的版本 — public String substring(int beginIndex, int endIndex)
:
String l = input.substring(0, 1);
请注意,这将为空字符串 (""
) 抛出 IndexOutOfBoundsException
。为防止这种情况,在执行 substring
检查之前还应检查字符串的长度。
我正在努力找出我的代码有什么问题。当用户输入“apple”时,我发现它不是以元音开头的。
import java.util.*;
public class StringeExerciseElearn {
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
System.out.println("Type a word: ");
String input = k.next();
String l = input.substring(0);
String a = "a";
String e = "e";
String i = "i";
String o = "o";
String u = "u";
if(l.equals(a) || l.equals(e) || l.equals(i) || l.equals(o) || l.equals(u))
System.out.println(input + " begins with a vowel!");
else
System.out.println(input + " doesn't begin with a vowel");
}
}
}
你使用substring方法有误,你应该在第一个参数中说出开始位置,在第二个参数中说出结束位置:
String l = input.substring(0, 1);
现在一切正常:) :
Type a word:
apple
apple begins with a vowel!
使用 String 的 startWith 方法,就可以了。
public class Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner k = new Scanner(System.in);
System.out.println("Type a word: ");
String input = k.next();
String l = input;
String a = "a";
String e = "e";
String i = "i";
String o = "o";
String u = "u";
if (l.startsWith(a) || l.startsWith(e) || l.startsWith(i) || l.startsWith(o) || l.startsWith(u))
System.out.println(input + " begins with a vowel!");
else
System.out.println(input + " doesn't begin with a vowel");
}
input.substring(0)
returns 从索引 0 开始并扩展字符串长度的字符串。换句话说,它 returns 输入字符串;例如"apple".substring(0)
returns“苹果”。
要获取单个字符子字符串,您需要使用同时采用开始索引和结束索引的子字符串方法的版本 — public String substring(int beginIndex, int endIndex)
:
String l = input.substring(0, 1);
请注意,这将为空字符串 (""
) 抛出 IndexOutOfBoundsException
。为防止这种情况,在执行 substring
检查之前还应检查字符串的长度。