Java 输入一行以空格分隔字符作为输入数据转存为数组形式并输出

用java写一些算法题目的时候需要输入一些数据,像C或者CPP都可以有专用的输入函数进行输入,在Java里需要稍微麻烦一些,具体代码如下:

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String s =in.nextLine();
        String[] str = s.spilt(" ");
        for(String data : str)
            System.out.println(data);
    
}

 

### 回答1: 可以使用字符串的split()方法将输入一行字符按照空格分隔成一个个单词,然后统计单词的个数即可。具体代码如下: ```python s = input("请输入一行字符:") words = s.split() # 按照空格分隔成单词列表 count = len(words) # 统计单词个数 print("单词个数为:", count) ``` 示例输出: ``` 请输入一行字符:hello world 单词个数为: 2 ``` 注意,如果输入一行字符中有多个连续空格,split()方法会将它们看作一个空格,因此不会将它们分隔成多个单词。如果需要考虑这种情况,可以使用正则表达式或者手动遍历字符串来实现。 ### 回答2: 统计一行字符串中单词的数量并输出,需要对字符串进行分词处理。具体步骤如下: 1. 定义一个计数器变量,用于记录单词的数量,初始值为0。 2. 使用 split() 方法分割输入字符串,将其分割成一个个单词。 3. 使用 for 循环遍历分割后的单词列表,判断每个单词是否为空白字符,如空格、制表符、回车等。 4. 如果单词不为空白字符,则将计数器加1。 5. 遍历结束后,输出计数器的值,即为该字符串中单词的数量。 下面是Python代码实现: ```python # 输入字符串 s = input('请输入一行字符:') # 初始化计数器 count = 0 # 分割字符串 words = s.split() # 遍历单词列表 for word in words: # 判断单词是否为空白字符 if not word.isspace(): count += 1 # 输出结果 print('该字符串中单词的数量为:%d' % count) ``` 以上代码中,使用了字符串的 split() 方法来分割字符串,并将分割得到的单词存储在一个列表中。然后遍历该列表,使用 isspace() 方法判断每个单词是否为空白字符,如果不是,则将计数器加1。最后输出计数器的值,即为单词的数量。 需要注意的是,该方法只能简单地统计单词的数量,对于一些特殊情况,如缩写、连字符、标点符号等,可能会有误差,需要根据实际情况进行调整。 ### 回答3: 本题需要对输入一行字符进行分析,统计其中的单词个数。那么什么是单词呢?根据英语的定义,单词是由字母组成的,通常具有独立的含义。在一个句子中,单词之间通常通过空格分隔。因此,我们可以通过空格来分割一行字符,得到其中的单词,然后统计单词的个数即可。 在实现上,我们可以使用字符串的 split 方法,将一行字符按照空格分割成一个字符数组,然后遍历数组,统计其中非空的字符串的个数即可。具体实现可以参考以下代码: ``` public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一行字符:"); String line = scanner.nextLine().trim(); // 去除输入字符串两端的空格 if (line.length() == 0) { System.out.println("输入字符串为空!"); return; } String[] words = line.split("\\s+"); // 使用正则表达式分割字符串 int count = 0; for (String word : words) { if (!word.isEmpty()) { count++; } } System.out.println("单词个数为:" + count); } ``` 在上述代码中,我们首先使用 Scanner 类获取用户输入一行字符,并使用 trim 方法去除输入字符串两端的空格。接着,我们使用 split 方法将字符串按照一个或多个连续的空白字符(包括空格、制表符、换行符等)进行分割,并存储在字符数组 words 中。然后我们遍历 words 数组,统计其中非空的字符串的个数,即为单词个数。 需要注意的是,输入字符串可能存在连续空格的情况,例如 "hello world",这时候我们需要使用正则表达式 "\\s+" 来指定分割符。该正则表达式表示一个或多个连续的空白字符。如果直接使用空格作为分割符,则可能会将连续的空格视为单个分割符,导致单词个数统计不准确。 以上就是输入一行字符,统计其中有多少个单词的解题思路和代码实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值