Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incidicount ut labore et dolore magna aliqua。埃涅阿斯纪的大型pharetra ac placerat前庭。枕叶是一个整数元素。Iaculis urna id volutpat lacus laoreet non-crabitur gravida。Tellus mauris a diam macenas sed enim ut sem viverra。在地球的生命中,有一个叫Pretium lectus quam id leo的名字。奥迪奥·弗利西斯·莫里斯坐在一个充满活力的乌龟旁边。尼斯尔·朗库斯·马蒂斯·朗库斯是一个没有生命的人。Suspenddise faucibus interdum posuere lorem ipsum悲哀坐。乌龟在看电视。Egestas quis ipsum suspenddise ultrices gravida dictum fusce ut砂矿。
问题是char table[] = {}
是一个空数组,那么你不能在其中赋值,你可能需要创建一个大小为的数组
char[] table = new char[str.length()];
有一个更好的方法,那就是str.toCharArray()
。此外,当您根据条件返回true/false
时,只需返回条件
public static boolean myMethod(String str) {
char[] table = str.toCharArray();
return table[table.length - 1] == 'a' || table[table.length - 1] == 'e';
}
此外,Scanner
更容易使用,if (myMethod(a))
作为条件就足够了
Scanner in = new Scanner(System.in);
System.out.println("Please enter any word you like:");
String a = in.nextLine();
if (myMethod(a)) {
System.out.println("Word has char 'a' or 'e' at the end of the word.");
} else {
System.out.println("Word doesn't have char 'a' or 'e' at the end of the word.");
}
数组的大小是固定的。您的数组的长度基本为0。试试之类的东西
char table[]= new char[str.length()];
如果你必须使用for
循环,你可以使用它,它本质上(现在我看了(与azro的方法相同,只是toCharArray()
方法明确地写为循环。。。
if (str == null || str.length() < 1) return false;
char[] chars = new char[str.length()];
for (int i = 0; i < chars.length; i++) chars[i] = str.charAt(i);
return (chars[chars.length - 1] == 'a' || chars[chars.length - 1] == 'e');