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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程,输入一段英文字母,将每个单词的首字母转换为大写字母。相关的知识,希望对你有一定的参考价值。

例如,I am very glad to see you 的转换结果为 I Am Very Glad To See You
这是我的编程:
import java.io.*;
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())
char c=(st.nextToken()).charAt(0);
if(c>='a'&&c<='z')
c=(char)((int)c-32);
s1.append(c);

else
s1.append(c);
for(int i=1;i<(st.nextToken()).length();i++)
char c1=(st.nextToken()).charAt(i);
s1.append(c1);

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


catch(IOException e)
System.out.println(e);



思路很乱,而且错了。
求修改!! 还有那个什么CSS我们没有学。。。
求助!!谢谢!

在你的基础上修改得
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
参考技术A // 构造方法
public Capitalized()


public void printCapitalized()
int i;
for (i = 0; i <cs.length; 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]+" ");



参考资料:http://zhidao.baidu.com/question/152789465

参考技术B 功能是实现了 ,有点繁琐,有待加工,除首字母外小写...
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);



将数据框列中每个单词的首字母大写

【中文标题】将数据框列中每个单词的首字母大写【英文标题】:Capitalize first letter of each word in a dataframe column 【发布时间】:2017-01-01 16:24:33 【问题描述】:

如何将列中每个单词的首字母大写?顺便说一句,我正在使用 python pandas。例如,

         Column1
         The apple
         the Pear
         Green tea

我想要的结果是:

         Column1
         The Apple
         The Pear
         Green Tea

【问题讨论】:

【参考方案1】:

你可以使用str.title:

df.Column1 = df.Column1.str.title()
print(df.Column1)
0    The Apple
1     The Pear
2    Green Tea
Name: Column1, dtype: object

另一个非常相似的方法是str.capitalize,但它只将首字母大写:

df.Column1 = df.Column1.str.capitalize()
print(df.Column1)
0    The apple
1     The pear
2    Green tea
Name: Column1, dtype: object

【讨论】:

以上是关于java编程,输入一段英文字母,将每个单词的首字母转换为大写字母。的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 将字符串中每个单词的首字母大写?

2.1.10 java编程规范

用前一个单词的字母反向替换每个单词的第一个字母

将每个单词的首字母大写而不改变当前的大写字母

Java知识点整理——编程基础

将数据框列中每个单词的首字母大写