【发布时间】:2025-12-27 15:30:10
【问题描述】:
我是一个java初学者,一年级的计算机学生,对java的理解很弱,理解它的结构有很多问题。
这是我到目前为止的代码:
import java.util.*;
public class hdtest1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s;
while(true)
{
System.out.println("Enter value:");
s=sc.next();
if(s.equals("quit"))
{
break;
}
String[] s = string.split(" ");
int wordCount = 1;
for (int i = 0; i < str1.length(); i++)
{
if (str1.charAt(i) == ' '&& str1.charAt(i+1)!=' ')
{
wordCount++;
}
}
}
}
System.out.println(""+s); //to Print string
System.out.println(""+s.length()); //to print Entered string's length
System.out.println("Word count is = " +(str1.length()- wordCount));
}
我希望我的 java 输出显示在文本窗口(扫描仪)中输入的文本行、字符总数和每个单词的字符数。例如当用户输入“你好,我的名字是马克”时,我正在寻找的输出是:
Hello, my name is Mark
22
Hello = 5
my = 2
name = 4
is = 2
Mark = 4
//Here the scanner loops,appears and is ready for more text to be entered
所以总结一下我的问题 - 请您更正我的错误代码以使其正常工作并输出我想要的内容(如上所示)?非常感谢您的帮助,任何帮助将不胜感激。
目前我的代码显示很多错误,它们是结构性错误,因为我对将不同方法匹配在一起的理解非常薄弱。到目前为止,我发现了许多我认为可以一起工作的代码块,并且我尝试使用代码来操纵这些方法以使这些方法一起工作,但我似乎只会让我的代码变得更糟,因为我不明白许多代码的含义错误以便能够纠正它们。在我开始尝试使用“split”方法拆分扫描仪中输入的单词之前,我的代码运行良好。
以下是错误的快速列表供您查看:
第 15 行 - 重复变量 s,
第 15 行 - 字符串无法解析,
第 18 行 - str1 无法解析,
第 20 行 - str1 无法解析,
第 28 行 - 标记语法错误,错位构造,
第 28 行 - 标记“println”上的语法错误,= 预期在此标记之后,
第 29 行 - 标记上的语法错误,错误的构造,
第 30 行 - 标记上的语法错误,错位的构造,
第 30 行 - 标记“println”上的语法错误,= 预期在此标记之后,
【问题讨论】:
-
具体来说,您遇到的错误消息是什么?比如,我们看第一条错误信息:"duplicate variable s"那个错误不清楚怎么办?你在一个地方有
String s;,然后在第二个地方有String[] s = string.split(" ");(第15行)。其中每一个都是一个变量声明(第二个也有一个初始化器)。您不能在同一范围内两次声明一个变量。 -
从第一条错误消息开始。阅读。想想看。搜索它。如果你能弄清楚如何解决它,那就去做吧。如果不是,请写一个关于该消息的具体问题,说明您为理解它采取了哪些步骤。根据需要重复。
-
它告诉你行号,所以这应该是一个很大的帮助。 “无法解决”意味着没有具有该名称的变量。语法错误有点棘手,但如果您修复缩进,它可能会变得清晰。
标签: java split word-count