java 如何将一个字符串数组每行的第一个英文字母变成大写

每个英文句子的句首字母大写(每个句子占一行)如果行末没有句号,则自动添加句号求大神赐教!!!... 每个英文句子的句首字母大写(每个句子占一行)
如果行末没有句号,则自动添加句号

求大神赐教!!!
展开
 我来答
mashining1988
2013-07-04
知道答主
回答量:39
采纳率:0%
帮助的人:11.9万
展开全部
public class Son {
public static void main(String[] args) {
String[] a = {"wo shi yi ge bing","lai zi lao ban xing","da si bu chi fan"};
f(a);
}
public static String[] f(String[] a){
for (int i = 0; i < 3; i++) {
char[] b = a[i].toCharArray();
if (b[0] >= 97 && b[0] <= 122) {
b[0] = (char) (b[0] - 32);
}
a[i] = new String(b);
if (a[i].substring(a[i].length()- 1, a[i].length()) != ".") {
a[i] += ".";
}
}
for (int i = 0; i < 3; i++) {
System.out.println(a[i]);
}
return a;
}

}
这是改的楼上的,他的有错误,substring(startIndex,endIndex)这句,endIndex应该为字符串长度,而不是1
shadow_hiding
2013-07-04
知道答主
回答量:15
采纳率:0%
帮助的人:13万
展开全部
你可以获取每个字符串的第一个字符,比较下ASCII码,如果是在[97,122]区间范围内就是小写,这是只要把ASCII码减32就可以转换成大写了。
同样的,获取每个字符串最后一个字符,如果不是句号的话就加个句号上去。
更多追问追答
追问
把主要步骤给我写下来呗!!!
它是字符串数组啊!!!
追答
就是说每行都是一个字符串是吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimmyc2006
2013-07-04 · TA获得超过1153个赞
知道小有建树答主
回答量:572
采纳率:100%
帮助的人:645万
展开全部
public class T0704 {
public static void main(String[] args) {
String[] lines = {"it is a pig","a good player."};
for(int i = 0; i < lines.length; i++){
lines[i] = changeLine(lines[i]);
}
System.out.println(Arrays.deepToString(lines));
}
public static String changeLine(String line){
        line = line.trim();
String result = line.substring(0,1).toUpperCase() + line.substring(1);
if(!result.endsWith(".")){
result = result + ".";
}
return result;
}
}

[It is a pig., A good player.]

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式