将一个英文字符串中的英文单词反向输出

腾讯2016年Android研发实习笔试:输入一个英文字符串,要求英文字符串中的单词反向输出,但是每个单词不反向,如输入:“I am fine.”,输出为:“fine. am I”。
package com.javaexam.test;

import java.util.Scanner;

public class StringReverse {

	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		while(in.hasNext()){
			String str = in.nextLine();
			int index = 0;
			String result = "";
			while(index<str.length()){
				int i = str.indexOf(" ", index);//以空格为截取位
				String aa;
				if(i==-1){
				    aa = str.substring(index);//截取最后一个单词,包括最后的标点符号
				    index = str.length();
				}else{
					aa = str.substring(index, i);//截取每个空格之间的单词
					index = i+1;
				}

				result = aa +" "+ result;//将单词反向输出
			}
			System.out.println(result);
		}
	}
}

好的,这是两个问题,我分别回答。 1. Python字符串单词逆序输出、多空格 你可以使用split()方法将字符串分割成单词,并将单词存储在列表。然后,你可以使用反向索引(-1、-2等)以相反的顺序遍历该列表,并将每个单词添加到新的字符串。在添加单词时,你可以添加一个空格以分隔单词。 代码示例: ```python s = "Hello world! " words = s.split() new_s = "" for i in range(len(words)-1, -1, -1): new_s += words[i] + " " print(new_s) ``` 输出: ``` world! Hello ``` 在这个例子,我们使用split()方法将字符串分割成单词,并将这些单词存储在名为words的列表。我们使用一个for循环以相反的顺序遍历该列表,并将每个单词添加到名为new_s的新字符串。我们还在每个单词后添加了一个空格,以便在单词之间创建空格。 请注意,我们将for循环的第三个参数设置为-1,以便在每次迭代减少i的值。这使得i从最后一个元素开始,并以相反的顺序遍历该列表。 2. 反转字符串单词字母顺序 你可以使用split()方法将字符串分割成单词,并将每个单词转换为列表。然后,你可以使用切片将每个单词反转,然后使用join()方法将这些单词组合成新的字符串。 代码示例: ```python s = "Hello world!" words = s.split() for i in range(len(words)): words[i] = words[i][::-1] new_s = " ".join(words) print(new_s) ``` 输出: ``` olleH dlrow! ``` 在这个例子,我们使用split()方法将字符串分割成单词,并将这些单词存储在名为words的列表。然后,我们使用一个for循环遍历该列表,并使用切片将每个单词反转。我们还使用join()方法将这些单词组合成名为new_s的新字符串。 请注意,在切片,我们使用了步长为-1,这意味着我们从右向左遍历该单词
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值