字符串中英文单词开头字符大小写转换

华为2016年实习生招聘笔试题:输入一个英文句子的字符串,修改每个英文单词的首字母的大小写,即大写改为小写,小写改为大写,并返回修改后的字符串

package com.javaexam.test;

import java.util.Scanner;

public class CharExchange {
	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;
				String cc = "";
				if(i!=-1){
					aa = str.substring(index,i);//截取空格与空格之间的字符串,即一个英文单词
					char c = aa.charAt(0);//获得首字符的字符
					if(Character.isLowerCase(c)){//判断首字母是否为小写,是则改为大写,并拼回字符串中
						cc = Character.toUpperCase(c) + aa.substring(1) + " ";
					}if(Character.isUpperCase(c)){//判断首字符是否为大写,是则改为小写
						cc = Character.toLowerCase(c) + aa.substring(1) + " ";
					}
					index = i+1;
				}else{
					aa = str.substring(index);//最后一个单词只有前面有空格,后面没有空格,因此此处截取最后一个单词
					char c = aa.charAt(0);
					if(Character.isLowerCase(c)){
						cc = Character.toUpperCase(c) + aa.substring(1);
					}if(Character.isUpperCase(c)){
						cc = Character.toLowerCase(c) + aa.substring(1);
					}
					index = str.length();
				}
				result = result + cc;
			}
			System.out.println(result);
		}
	}

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 C 语言字符串函数来实现字符串大小写的转换。以下是一个示例代码: ```c #include <stdio.h> #include <ctype.h> void toggleCase(char *str) { while (*str) { if (islower(*str)) { *str = toupper(*str); } else if (isupper(*str)) { *str = tolower(*str); } str++; } } int main() { char str[] = "Hello, World!"; toggleCase(str); printf("%s\n", str); // 输出 hELLO, wORLD! return ; } ``` 这个方法接收一个字符串参数,然后遍历字符串的每个字符,如果是小写字母则转换为大写字母,如果是大写字母则转换为小写字母。最后返回转换后的字符串。 ### 回答2: 要编写一个方法来切换字符串英文大小写,可以将方法命名为 "toggleCase" 。该方法接受一个字符串参数,并返回切换大小写后的字符串。 首先,我们可以使用 "toCharArray()" 方法将字符串转换为字符数组,以便逐个处理每个字符。然后,我们可以使用一个循环来遍历字符数组的每个字符。 在循环,我们可以使用 "Character.isUpperCase()" 方法来检查字符是否为大写字母。如果是大写字母,我们可以使用 "Character.toLowerCase()" 方法将其转换为小写字母;如果是小写字母,我们可以使用 "Character.toUpperCase()" 方法将其转换为大写字母。最后,我们可以将转换后的字符保存到新的字符数组。 循环结束后,我们可以使用 "String.valueOf()" 方法将字符数组转换回字符串,并返回结果。 以下是该方法的示例代码: public static String toggleCase(String input) { char[] charArray = input.toCharArray(); for (int i = 0; i < charArray.length; i++) { if (Character.isUpperCase(charArray[i])) { charArray[i] = Character.toLowerCase(charArray[i]); } else { charArray[i] = Character.toUpperCase(charArray[i]); } } return String.valueOf(charArray); } 调用示例: String input = "Hello World"; String output = toggleCase(input); System.out.println(output); 输出结果将是 "hELLO wORLD"。该方法能够正确地切换字符串英文大小写。 ### 回答3: 切换字符串英文大小写可以使用以下方法: 1. 首先,我们要将字符串转换成字符数组,这样可以逐个字符进行判断和转换。 2. 使用一个循环来遍历字符数组的每个字符。 3. 对于每个字符,我们使用`Character.isUpperCase(char ch)`方法来判断当前字符是否为大写字母。 4. 如果该字符是大写字母,我们使用`Character.toLowerCase(char ch)`方法将其转换为小写字母,并更新字符数组的对应位置。 5. 如果该字符是小写字母,我们使用`Character.toUpperCase(char ch)`方法将其转换为大写字母,并更新字符数组的对应位置。 6. 最后,我们将更新后的字符数组重新转换为字符串,即可得到切换大小写后的结果。 以下是示例代码: ```java public String toggleCase(String input) { char[] charArray = input.toCharArray(); for (int i = 0; i < charArray.length; i++) { char ch = charArray[i]; if (Character.isUpperCase(ch)) { ch = Character.toLowerCase(ch); } else if (Character.isLowerCase(ch)) { ch = Character.toUpperCase(ch); } charArray[i] = ch; } return new String(charArray); } ``` 通过调用`toggleCase`方法,并传入需要切换大小写字符串,即可得到切换后的结果。例如: ```java String input = "Hello, World!"; String result = toggleCase(input); System.out.println(result); ``` 输出结果为:"hELLO, wORLD!"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值