我正在尝试编写一个程序,它接受用户的输入并输出他们输入的字符数。我必须通过创建一个计算字符数量的方法,然后在main中调用该方法来输出结果。我被鼓励使用for循环,但我不知道它会如何工作。我可以使用length()计算字符数,但我无法弄清楚如何使我的方法工作。这就是我到目前为止所做的:
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
System.out.println("Enter a sentence: ");
System.out.print("You entered: ");
userInput = scnr.nextLine();
System.out.println(userInput);
return;
}
public static int GetNumOfCharacters(int userCount) {
int i = 0;
String userInput = "";
userCount = userInput.length();
return userCount;
}
}
我的方法不是返回字符串的长度,只是给我0或错误。
答案 0 :(得分:1)
现在,您永远不会在主体中调用“GetNumOfCharacters”方法。 Java程序的工作方式是通过调用main方法并执行每行的行。所以你需要从里面的主方法中调用你的方法。另一方面,它应该将Stirng作为参数,这样你就可以得到它的长度。它看起来像这样:
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
System.out.println("Enter a sentence: ");
userInput = scnr.nextLine();
System.out.print("You entered: ");
System.out.println(userInput);
int lenInput = GetNumOfCharacters(userInput);
System.out.println("The length was: "+lenInput+" characters");
}
public static int GetNumOfCharacters(String userInput) {
int len = userInput.length();
return len;
}
答案 1 :(得分:0)
代码问题:
无函数调用
在main()
中添加函数调用int count=GetNumOfCharacters(userInput);
参数数据类型不匹配
将函数定义中的数据类型从int
更改为String
public static int GetNumOfCharacters(String userInput) {
main()
从return
main()
不显示从GetNumOfCharacters
在System.out.print("Number of characters: "+ count);
main()
<强>代码:强>
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
System.out.println("Enter a sentence: ");
System.out.print("You entered: ");
userInput = scnr.nextLine();
System.out.println(userInput);
int count=GetNumOfCharacters(userInput);
System.out.print("Number of characters: "+ count);
}
public static int GetNumOfCharacters(String userInput) {
int userCount = userInput.length();
return userCount;
}
或强>
实际上不需要功能,您可以删除该功能,并按照以下方式执行:
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
System.out.println("Enter a sentence: ");
System.out.print("You entered: ");
userInput = scnr.nextLine();
System.out.println(userInput);
System.out.print("Number of characters: "+ userInput.length());
}
答案 2 :(得分:0)
问题是你实际上没有调用方法
所以试试
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
System.out.println("Enter a sentence: ");
String userInput = scnr.nextLine();
System.out.print("You entered: ");
System.out.println(userInput);
System.out.println ("The length is " + GetNumOfCharacters (userInput))
}
// need to pass string into this method
public static int GetNumOfCharacters(String myString) {
int userCount = myString.length();
return userCount;
}
}
答案 3 :(得分:0)
您的问题包括:
我被鼓励使用for循环,但我不知道会怎么样 工作
在Java中没有优雅的方法,因为假设您使用String.length()
来获取字符串的长度。没有“字符串结束”标记,例如C语言。但是,当您访问字符串末尾时,通过捕获抛出的异常,您可以模仿相同的效果:
for (int len = 0; ; len++) {
try {
text.charAt(len);
} catch (StringIndexOutOfBoundsException ex) {
return len;
}
}
这不是一个好的,有效的或有用的代码片段,但它确实演示了如何使用for循环获取字符串的长度。
答案 4 :(得分:0)
如果您不想使用预定义方法,可以这样做..
public static void main(String args[]){
Scanner scnr = new Scanner(System.in);
System.out.println("Enter a sentence: ");
String userInput = scnr.nextLine();
System.out.println("You entered: "+userInput);
char a[]=userInput.toCharArray();
int count=0;
for(char c : a){
count++;
}
System.out.println("length of the string is:"+count);
}