我有一个非常愚蠢的问题,但是由于我是初学者,所以我不知道该怎么办。 从标题中,您可能会猜到我需要什么帮助...
这是我创建的基本程序:
// Character name.
import java.util.Scanner;
public class name {
public void charName(){
Scanner input = new Scanner(System.in);
String name;
System.out.println("What is your name?");
name = input.nextLine();
System.out.println(name +"? That's a very nice name, pleased to meet you!");
}
}这将要求一个名称,然后再次重复该名称以及一条语句。 我的问题是,这会与我输入的内容完全相同,因此,如果我输入" jake",它将以" jake"答复;如果我输入" JaKe",则将以" JaKe"答复。 我希望该程序无论我如何键入,都能够用大写的首字母大写姓名。 例如。 我输入" JAKE",但它以" Jake"响应。
当人们要求"显示您的代码"时,他们的意思不是"显示您程序中的所有代码,但与您的问题无关"。 在这种情况下,您什么也没有显示,甚至无法尝试转换字符串的大小写-您显示的所有内容都不相关。
您可以使用WordUtils#capitalizeFully()
您将需要String类的一些方法:
substring(int,int):从索引获取子字符串
substring(int):获取从索引到字符串结尾的子字符串
toLowerCase():将整个字符串转换为小写
toUpperCase():将整个字符串转换为大写
同时使用substring方法来获取第一个字母和其余名称作为单独的字符串。然后使用toUpperCase()和toLowerCase()并将字符串重新连接在一起。
一排:
String str ="jake";
String out = str.substring(0, 1).toUpperCase() + str.substring(1);
顺便说一句,作为其他选择,您将使用WordUtils
WordUtils.capitalize("i am FINE") ="I Am FINE"
如果可以使用3rd party lib。使用此WordUtils#capitalizeFully(String)。或者,如果这是家庭作业,并且您必须自己做,请参阅String#toLowerCase(),然后查看String#toUpperCase()作为第一个字符,请参阅String#substring。
Apache Commons库具有一组不错的字符串实用程序。
capitalizeFully方法完全可以满足您的需求。
WordUtils.capitalizeFully("pOkEmOn lolz NOOBZ"); // returns Pokemon Lolz Noobz
的确,此解决方案需要一个额外的整体依赖关系,但是该方法可以处理单字和多字输入。此外,库中还有很多其他整洁的东西,我实际上还没有从事过不使用它的项目。
如果您想使用香草Java API,则可以使用
name = name.substring(0, 1).toUpperCase() + name.substring(1).toLowerCase();
但是,这仅适用于单个单词。某些用户可能会想输入全名,例如Bender Bending Rodriguez。可以通过将其与split方法结合使用来轻松解决此问题,但我将其留给您;)
这是否有帮助:
String capSmall ="jAKE";
String firstLetter = String.valueOf(capSmall.charAt(0));
String theRest = capSmall.substring(1);
String result = firstLetter.toUpperCase() + theRest.toLowerCase();
System.out.println("---"+result);首先是小写输入,然后是大写第一个字符:
String name ="Jake";
String lower= name.toLowerCase();
之后,请看这里:第一个字符为大写
















