java怎么读入空格分隔的单词
时间: 2024-02-21 07:00:38 浏览: 156
Java 读取空格分隔的单词可以使用 Scanner 类中的 next() 方法。该方法会读取输入流中的下一个单词,并将其返回为一个字符串。在默认情况下,Scanner 类使用空格作为单词的分隔符,因此可以方便地读取空格分隔的单词。
以下是读取空格分隔的单词的示例代码:
```
import java.util.Scanner;
public class ReadWords {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取空格分隔的单词
while (scanner.hasNext()) {
String word = scanner.next();
System.out.println("读取单词:" + word);
}
scanner.close();
}
}
```
在上面的示例代码中,首先创建了一个 Scanner 对象,并将其与标准输入流关联。然后使用 while 循环读取输入流中的所有单词,并将每个单词输出到控制台。最后,记得关闭 Scanner 对象以释放资源。
相关问题
用java编写一个程序,从一个文件中读入单词(即:以空格分隔的字符串),并对单词进行排序,删除重复出现的单词,然后将结果输出到另一个文件中。 【输入形式】 从一个文件sort.in中读入单词。 【输出形式】 对单词进行排序,删除重复出现的单词,然后将结果输出到文件sort.out中。 【输入样例】 假如sort.in文件内容如下: rrr sss aaa bbb ccc ddf aaa dd 【输出样例】 sort.out文件内容为: aaa bbb ccc dd ddf rrr sss 【样例说明】 读入文件sort.in,做适当的排序,并删除重复出现的单词,输出到文件sort.out 【评分标准】 对单词进行排序,删除重复出现的单词,符合此要求得满分
以下是Java代码实现:
```java
import java.io.*;
import java.util.*;
public class SortWords {
public static void main(String[] args) {
try {
// 从sort.in文件中读入单词
BufferedReader reader = new BufferedReader(new FileReader("sort.in"));
String line = reader.readLine();
String[] words = line.split(" ");
reader.close();
// 将单词存储在Set中,自动去重
Set<String> set = new HashSet<>(Arrays.asList(words));
// 将Set转换为数组,并进行排序
String[] sortedWords = set.toArray(new String[0]);
Arrays.sort(sortedWords);
// 将结果输出到sort.out文件中
BufferedWriter writer = new BufferedWriter(new FileWriter("sort.out"));
for (String word : sortedWords) {
writer.write(word + " ");
}
writer.close();
System.out.println("排序完成!");
} catch (IOException e) {
System.out.println("文件读写出错:" + e.getMessage());
}
}
}
```
程序执行过程:
1. 打开文件sort.in,读取其中的单词;
2. 将单词存储在集合Set中,自动去重;
3. 将Set转换为数组,并对数组进行排序;
4. 打开文件sort.out,将结果写入文件中。
注意事项:
1. 文件读写可能会出现异常,需要进行异常处理;
2. 本程序中单词之间以空格分隔,如果有其他分隔符,需要进行相应的修改。
用Java解决:从键盘输入一段文字,以回车结束。一段文字由各个英语单词组成,单词之间用,.?!以及一个以上的空格分隔,要求输出最长的字符串。 样例输入: I am,you list.fast?java!file 样例输出: list fast java file
好的,下面是 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 从键盘读入一行字符串
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
// 将各个标点符号和空格替换为一个空格
text = text.replaceAll("[,.?!]+\\s*", " ");
// 将字符串划分成单词数组
String[] words = text.split("\\s+");
// 找到最长的字符串
String longestString = "";
for (String word : words) {
if (word.length() > longestString.length()) {
longestString = word;
}
}
// 输出最长的字符串
System.out.println(longestString);
}
}
```
这个代码使用正则表达式将各个标点符号和空格替换为一个空格,然后使用 `split` 方法将字符串划分成单词数组。最后遍历数组,找到最长的字符串并输出即可。
阅读全文