java 如何将一个字符串数组每行的第一个英文字母变成大写
每个英文句子的句首字母大写(每个句子占一行)如果行末没有句号,则自动添加句号求大神赐教!!!...
每个英文句子的句首字母大写(每个句子占一行)
如果行末没有句号,则自动添加句号
求大神赐教!!! 展开
如果行末没有句号,则自动添加句号
求大神赐教!!! 展开
展开全部
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
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
展开全部
你可以获取每个字符串的第一个字符,比较下ASCII码,如果是在[97,122]区间范围内就是小写,这是只要把ASCII码减32就可以转换成大写了。
同样的,获取每个字符串最后一个字符,如果不是句号的话就加个句号上去。
同样的,获取每个字符串最后一个字符,如果不是句号的话就加个句号上去。
更多追问追答
追问
把主要步骤给我写下来呗!!!
它是字符串数组啊!!!
追答
就是说每行都是一个字符串是吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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.]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询