我有一种感觉,答案就在我的鼻子底下,但是我对Java的n00b-ness让我追逐着我的尾巴。第一部分,我想要让用户输入两个字符串,比较它们,并说明第一个字符串中的字符数。第二部分,我想要让用户输入一个位置,记住第一个字符从零开始,然后代码假设说明该位置的字符。
我认为我的第一部分的代码非常干净,但我需要帮助的是第二部分。我已经在底部写了这个方法,但现在我不知道如何调用它。我一直在编译器中收到错误消息。由于这个错误,我也没有机会真正测试该方法,所以如果你看到任何错误,任何帮助将非常感激。提前谢谢!
import java.util.Scanner;
public class StringCode1
{
public static void main(String[] args)
{
String string1, string2;
int pos;
Scanner stdin = new Scanner(System.in);
System.out.print("Enter first string: ");
string1 = stdin.next();
System.out.print("Enter second string: ");
string2 = stdin.next();
if (string1.compareTo(string2) > 0)
{
System.out.println(string1 + " is less than " + string2);
}
else if (string1.compareTo(string2) == 0)
{
System.out.println(string1 + " is equal to " + string2);
}
else if (string1.compareTo(string2) < 0)
{
System.out.println(string1 + " is greater than " + string2);
}
System.out.print("Number of characters in " + string1 + " is " );
System.out.println(string1.length() );
String = showChar();
}
public static char showChar(String string1, int pos)
{
Scanner stdin = new Scanner(System.in);
System.out.println("Enter position noting first character is at 0: ");
string1 = stdin.nextLine();
pos = stdin.nextInt();
System.out.print("Character at position" + pos + "in " + string1);
System.out.print("is: ");
System.out.println(string1.charAt(pos));
}
}
答案 0 :(得分:1)
String = showChar();
在上面一行中,您试图分配一个类型,这是一个无效的表达式。此外,您的方法showChar
需要两个参数,并且您尝试使用无参数调用它。
另一个错误是showChar
的返回类型为char
但没有return
语句。要么使它成为void
方法,要么将其return
(大概是string1.charAt(pos)
)。
因此,您必须找到showChar
的参数应该是什么,然后,如果showChar
的值应该返回char
,则将其分配给变量它的类型,如:
char c = showChar(string1, yourIndex);
或者,如果它是void
:
showChar(string1, yourIndex);
...其中yourIndex
是您要为pos
中的showCar
参数传递的值。
答案 1 :(得分:0)
修改showChar函数,如下所示:
public static void showChar()
{
Scanner stdin = new Scanner(System.in);
System.out.println("Enter position noting first character is at 0: ");
String string1 = stdin.nextLine();
int pos = stdin.nextInt();
System.out.print("Character at position" + pos + "in " + string1);
System.out.print("is: ");
System.out.println(string1.charAt(pos));
}
并使用showChar();