永发信息网

输入一个英文句子,将每个单词的第一个字母改成大写字母,其它都保证是小写。 用java写

答案:2  悬赏:70  手机版
解决时间 2021-11-16 20:34
  • 提问者网友:谁的错
  • 2021-11-16 07:19
输入一个英文句子,将每个单词的第一个字母改成大写字母,其它都保证是小写。 用java写
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-11-16 08:10
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner fu=new Scanner(System.in);
while(fu.hasNextLine())
{
String a; 
a=fu.nextLine();
a=a.toLowerCase();
String[] tt=a.split(" ");
for(int i=0;i {
System.out.print(String.valueOf(tt[i].charAt(0)).toUpperCase());
System.out.print(tt[i].substring(1)+" ");

}
System.out.println();
}


}
}追问
追答你是要做异常处理吗?//你是同时输入了2个空格,数组分多了一个空的元素
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner fu=new Scanner(System.in);
while(fu.hasNextLine())
{
String a;
a=fu.nextLine();
a=a.toLowerCase();
String[] tt=a.split(" ");
System.out.println(tt.length);
for(int i=0;i {
if(tt[i].length()>0){//加个判断,长度大于0的
System.out.print(String.valueOf(tt[i].charAt(0)).toUpperCase());
System.out.print(tt[i].substring(1)+" ");
}
}
}
System.out.println();

}
}
全部回答
  • 1楼网友:猎心人
  • 2021-11-16 08:19

参考一下:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner fu = new Scanner(System.in);
String a;
a = fu.nextLine();
String[] tt = a.split(" ");
for (int i = 0; i < tt.length; i++) {
tt[i] = tt[i].substring(0, 1).toUpperCase()
+ tt[i].substring(1).toLowerCase();
}
for (String t : tt) {
System.out.print(t + " ");
}
}
}追问tt[i].substring(0, 1)这个是什么意思??追答截取单词的首字母追问

追答

继续优化了一下:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner fu = new Scanner(System.in);
try {
String a;
a = fu.nextLine();
char[] arr = a.toCharArray();
List list = new ArrayList();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
if (arr[i] != ' ') {
sb.append(arr[i]);
} else {
if (sb.length() > 0) {
list.add(sb.toString());
}
sb = new StringBuffer();
}
}
for (String s : list) {
String first = s.substring(0, 1).toUpperCase();
String other = "";
if (s.length() > 1) {
other = s.substring(1).toLowerCase();
}
a = a.replace(s, first + other);
}
System.out.println(a);
} finally {
fu.close();
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯