零基础学习Java语言——6、使用对象(1)[String操作解题]

简介: 零基础学习Java语言——6、使用对象(1)[String操作解题]

单词长度


题目内容:


你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。


输入格式:


输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。


输出格式:


在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。


输入样例:


It's great to see you here.


输出样例:


4 5 2 3 3 4


本题的三种解法:

import java.util.Scanner;
public class Main{
    public static  void main(String[] args){
        Scanner in = new Scanner(System.in);
//方法一 单独读入分别判断处理
        String src = in.next();
        String outPut = "";
        while(src.indexOf(".") == -1)
        {
            outPut += src.length() + " ";
            src = in.next();
        }
        if(src.length()-1 == 0 ){  //没有长度的不需要输出0
            if (!outPut.equals("")){
                outPut = outPut.substring(0, outPut.length()-1);
            }
        }
        else{
            outPut += src.length()-1;
        }
        System.out.println(outPut);
    }
}

1.png

import java.util.Scanner;
public class Main{
    public static  void main(String[] args){
        Scanner in = new Scanner(System.in);
//方法二  读行,split分割处理
        String src = in.nextLine();
        String outPut = "";
        if (src.indexOf(" ") != -1)
        {
            String[] s = src.split(" ");
            int m = s.length;
            for (int i = 0; i < m-1;i++)
            {
                if (s[i].length() > 0) {
                    outPut += s[i].length() + " ";
                }
            }
            if(s[m-1].length()-1 == 0 )//没有长度的不需要输出0
            {
                if (!outPut.equals("")){
                    outPut = outPut.substring(0, outPut.length()-1);
                }
            }
            else{
                outPut += s[m-1].length()-1;
            }
        }
        else
        {
            if(src.length()-1 != 0 )//没有长度的不需要输出0
            {
                outPut += src.substring(0,src.indexOf(".")).length();
            }
        }
        System.out.println(outPut);
    }
}

1.png

import java.util.Scanner;
public class Main{
    public static  void main(String[] args){
        Scanner in = new Scanner(System.in);
//方法三   读行,indexOf处理
        String src = in.nextLine();
        String outPut = "";
        int index = src.indexOf(" ");
        while(index != -1) {
            String per = src.substring(0,index);
            src = src.substring(index+1);
            if (per.length() > 0) {
                outPut += per.length() + " ";
            }
            index = src.indexOf(" ");
        }
        if(src.length()-1 == 0 ){  //没有长度的不需要输出0
            if (!outPut.equals("")){
                outPut = outPut.substring(0, outPut.length()-1);
            }
        }
        else{
            outPut += src.length()-1;
        }
        System.out.println(outPut);
    }
}

1.png

mooc上的课程习题,边学习边记录!

目录
相关文章
|
2月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
98 43
Java学习十六—掌握注解:让编程更简单
|
1月前
|
安全 Java 编译器
Java对象一定分配在堆上吗?
本文探讨了Java对象的内存分配问题,重点介绍了JVM的逃逸分析技术及其优化策略。逃逸分析能判断对象是否会在作用域外被访问,从而决定对象是否需要分配到堆上。文章详细讲解了栈上分配、标量替换和同步消除三种优化策略,并通过示例代码说明了这些技术的应用场景。
Java对象一定分配在堆上吗?
|
2月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
50 17
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
1月前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
1月前
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
44 0
|
3月前
|
存储 Java
Java编程中的对象和类
【8月更文挑战第55天】在Java的世界中,“对象”与“类”是构建一切的基础。就像乐高积木一样,类定义了形状和结构,而对象则是根据这些设计拼装出来的具体作品。本篇文章将通过一个简单的例子,展示如何从零开始创建一个类,并利用它来制作我们的第一个Java对象。准备好让你的编程之旅起飞了吗?让我们一起来探索这个神奇的过程!
37 10
|
3月前
|
存储 Java
Java的对象和类的相同之处和不同之处
在 Java 中,对象和类是面向对象编程的核心。
66 18
|
3月前
|
Java
Java 对象和类
在Java中,**类**(Class)和**对象**(Object)是面向对象编程的基础。类是创建对象的模板,定义了属性和方法;对象是类的实例,通过`new`关键字创建,具有类定义的属性和行为。例如,`Animal`类定义了`name`和`age`属性及`eat()`、`sleep()`方法;通过`new Animal()`创建的`myAnimal`对象即可调用这些方法。面向对象编程通过类和对象模拟现实世界的实体及其关系,实现问题的结构化解决。
32 4
下一篇
DataWorks