java编程,输入一段英文字母,将每个单词的首字母转换为大写字母。

2025-03-02 00:36:21
推荐回答(3个)
回答1:

在你的基础上修改得
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class TTTest {
public static void main(String args[]) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
String s = in.readLine();
StringBuffer s1 = new StringBuffer();
StringTokenizer st = new StringTokenizer(s);

while (st.hasMoreTokens()) {
String str = st.nextToken();

char c = (str).charAt(0);
if (c >= 'a' && c <= 'z') {
c = (char) ((int) c - 32);
s1.append(c);
} else
s1.append(c);

for (int i = 1; i < (str).length(); i++) {
char c1 = (str).charAt(i);
s1.append(c1);
}

s1.append(" ");

}

System.out.print(" " + s1.toString());

} catch (IOException e) {
System.out.println(e);
}
}
}
--------测试
i am a Student
I Am A Student

回答2:

// 构造方法
public Capitalized() {
}

public void printCapitalized() {
int i;
for (i = 0; i if (Character.isSpaceChar(cs[i])){
i = i + 1;
cs[i]=Character.toUpperCase(cs[i]);
}
}

for (i = 0; i< cs.length; i++) {
System.out.print(cs[i]);
}
}

public static void main(String[] args) {
new Capitalized().printCapitalized();
}

}

//方法二

public class Capitalized {

public static void main(String[] args) {
String s="today is sunny!";
String arr[]=s.trim().split("\\s+");
if(s.length()>0)
for (int i = 0; i < arr.length; i++) {
arr[i]=Character.toUpperCase(arr[i].charAt(0))+arr[i].substring(1);
System.out.print(arr[i]+" ");
}
}

}

回答3:

功能是实现了 ,有点繁琐,有待加工,除首字母外小写...
public class CharacterDemo {
public static void main(String[] args) {
String str = "goOd gooD stUdy dAy dAy up";
char[] c = str.toCharArray();
function (c);
str = String.copyValueOf(c);
System.out.println(str);
}
public static void function(char[] c){
for(int i = 0 ; i< c.length ; i++){
if(c[i] == ' '){
if(c[i+1]>='a' && c[i+1]<='z')
c[i+1] =(char)( c[i+1]-32 );
}else if(i==0){
if(c[i]>='a' && c[i]<='z')
c[i] =(char)( c[i]-32 );
}else if(c[i]>='A' && c[i]<='Z'&&c[i-1]!=' '){
c[i] = (char)(c[i]+32);
}
}
}
}