如何创建一个方法来大写java中字符串的第一个字母?

How do I create a method that capitalizes the first letter of a string in java?

本问题已经有最佳答案,请猛点这里访问。

我要做的是编写一个方法,该方法有一个参数,并返回一个新的字符串,该字符串将大写并返回其参数。

这是迄今为止我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 public void input(){

    this.printmessage("Dillon","Francis","chimes","chimes from hudson mohawke","2",            "$69.00","$420.00","$1337.00");
}


public void printmessage(String firstName, String lastname, String product, String company, String number, String retail, String price, String saving){

    UI.println("text" + firstName +",");



    UI.println(text +"" + product +"s text, text text text text -");



    UI.println("");
}

我要做的是将产品参数(蜂鸣音)大写,然后返回到printmessage中,如果在句首使用它,则大写。

这样的东西行吗?

1
2
3
4
5
 public String capitalise(String product){

    return Character.toUpperCase(product.charAt(0)) + product.substring(1);

}

我真的被困住了,希望能得到一些帮助。

谢谢。

我试过了

1
2
3
4
5
 String pls = (product +" example");
    if ( pls.startsWith(product) ) {
        product = capitalise(product);
   }
   UI.println(pls);

但它没有打印出大写版本。


更改此行:

UI.println(text +"" + product +"s text, text text text text -");

到:

江户十一〔一〕号

但是您的代码需要更结构化一点。专注于均匀的缩进。如果你以后需要大写的product,你最好在使用前保存它,比如

1
2
3
4
...
product = capitalize(product);
UI.println(text +"" + product +"s text, text text text text -");
...

编辑:

为此,我假设该行包含在一个名为lineString中。

首先检查line是否以product开头。然后大写。

1
2
3
4
5
6
7
8
...
String line = text +"" + product +"s text, text text text text -";
line = line.trim(); // removes whitespaces.
if ( line.startsWith( product ) ) {
    product = capitalize ( product ); //or whatever.
}
UI.println(line);
...