字符串最后一个单词的长度

题目描述

计算字符串最后一个单词的长度,单词以空格隔开。

输入描述

一行字符串

输出描述

整数N,最后一个单词的长度。

输入例子

hello world

输出例子

5

方法1
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        while(in.hasNextLine()) {
            String str = in.nextLine();
            String[]  array = str.split(" ");
            System.out.print(array[array.length - 1].length());
        }
        in.close();
    }
}

方法2

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        while(in.hasNextLine()) {
            String str = in.nextLine();
            System.out.print(findLastWordLength(str));
        }
        in.close();
    }

    private static int findLastWordLength(String str) {
        // 最后一个字符的位置
        int end = str.length() - 1;
        // 最后一个字母后面可能有空格
        while(end >= 0 && str.charAt(end) == ‘ ‘)
            end --;

        // 找最后一个字母之前的第一个空白字符
        int pos = end - 1;
        while(pos >= 0 && str.charAt(pos) != ‘ ‘)
            pos --;
        return end -pos;
    }
}


时间: 2024-10-13 06:44:59

字符串最后一个单词的长度的相关文章

华为OJ:2290 字符串最后一个单词的长度

用JAVA就很简单,只要用spilt函数,再输出最后一个字符串. 题意是要求你先自己写分隔好字符串这样子.有个比较坑的地方就是测试用例应该有个全为空的,要注意. import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner input=new Scanner(System.in); String s=input.nextLine(); String ss[]=s.spli

华为训练题目:初级——字符串最后一个单词的长度

初级 字符串最后一个单词的长度 描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 思路:这道题字符串可能中间有空格,可能后面最后有空格. 先将下标从后往前指到最后一个不是空字符的方,再开始计数 1 #include<iostream> 2 #include<string> 3 using namespac

[华为]字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开. 输入描述:一行字符串,非空,长度小于5000. 输出描述:整数N,最后一个单词的长度. 输入例子:hello world 输出例子:5 1 #include<iostream> 2 #include<string> 3 #include<vector>  4 5 using namespace std;  6 7 int main() 8 {     9 string input;     10 vector<str

字符串最后一个单词的长度(华为在线训练)

描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 #include <stdio.h> #include <string.h> #include LEN 1024 int main(void) { int len, i, j; char str[LEN]; gets(str); len = strlen(

[编程题]字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 #include<stdio.h> #include<string.h> int main(){ char str[5000]; int k,i; scanf("%[^\n]",str); for(i=strlen(str)-1;i>0 ;i--){ if(str[i

华为OJ初级(一)——字符串最后一个单词的长度

/** * 功能:计算字符串最后一个单词的长度,单词以空格隔开. * 输入: 一行字符串,长度小于128. * 输出: 整数N,最后一个单词的长度. * 样例输入: hello world * 样例输出: 5 * */ 两种方法: 方法一: public int getFinalWordLen(){ String[] words= new String[128]; int len=0; int num=0; Scanner sc= new Scanner(System. in); words=s

HW—字符串最后一个单词的长度,单词以空格隔开。

描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 测试OK代码: import java.util.Scanner; public class Main{ public static void main(String[] args) { int i; // System.out.println("请输入字符串:&quo

01_字符串最后一个单词的长度

题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000 输出描述: 整数N,最后一个单词的长度. # str1的数据类型是字符串 str1 = input().split()[-1] l = len(str) print(l)   原文地址:https://www.cnblogs.com/summer1019/p/10568064.html

【华为机试练习】字符串最后一个单词的长度

题目描述计算字符串最后一个单词的长度,单词以空格隔开.输入描述:一行字符串,非空,长度小于5000.输出描述:整数N,最后一个单词的长度. 解法(C语言版): #include<stdio.h> #include<string.h> int main() { char str[5000]; int i, n, len; gets(str); len = strlen(str); n = 0; if(len != 0) for(i = len-1; (str[i] != ' ') &