我真的不知道如何解釋這個問題。我確實在打包后匯入了掃描儀。我不確定您是否可以堆疊方法,如果可以,我肯定做錯了。
Scanner console = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = console.next();
name.trim();
name.toUpperCase(name.substring(name.charAt(name.indexOf(" "))));
System.out.println("Your name is: " name);
uj5u.com熱心網友回復:
只需根據indexOf(" ")
使用大寫第二個單詞toUpperCase
使用將兩個單詞連接在一起
name = name.substring(0, name.indexOf(" ")) name.substring(name.indexOf(" ")).toUpperCase();
注意:不確定是否需要處理無效輸入,但此代碼僅在輸入有效的兩個單詞名稱且中間有空格的情況下才有效
此外,請確保更改console.next()以console.nextLine()確保您檢索整個輸入行
uj5u.com熱心網友回復:
toUpperCase()期望Locale是否給定引數。因此name.substring(name.charAt(name.indexOf(" ")))不能解釋為Locale。
字串是不可變的,因此您必須在更改后重新分配它們name = name.trim();
用法:
String name = "John Doe";
String[] names = name.split(" ");
name = names[0] " " names[1].toUpperCase();
uj5u.com熱心網友回復:
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = console.nextLine();
String[] words = name.split(" ");
words[1] = capitalizeWord(words[1]);
name = String.join(" ", words);
System.out.println("Your name is: " name);
}
private static String capitalizeWord(String s) {
s = s.substring(0, 1).toUpperCase() s.substring(1).toLowerCase();
return s;
}
首先,您將輸入拆分為一個String陣列。然后替換第二個(索引 1)元素的第一個字符并將陣列重新連接到String.
輸入:john doe,輸出:john doe
uj5u.com熱心網友回復:
String在 java 中是不可變的,所以如果你想“改變”一個 Strig 變數值,你需要將它重新分配給它自己。我認為準備多于 2 個輸入的好方法,很多人都有中間名,例如這個函式將輸入分成幾部分,然后將第一個字母大寫,然后在將它們與空格連接后回傳整個名稱。
public String capitalizeName(String name) {
String[] nameParts = name.split(" ");
for (int i = 0; i < nameParts.length; i ) {
nameParts[i] = nameParts[i].substring(0, 1).toUpperCase() nameParts[i].substring(1);
}
return String.join(" ", nameParts);
}
uj5u.com熱心網友回復:
String在 Java 中是不可變的。
簡單點!!!
public static void main(String... args) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.print("Enter your first name and last name: ");
String firstName = upperCaseFirstLetter(scan.next().trim());
String lastName = upperCaseFirstLetter(scan.next().trim());
System.out.println("Your name first name: " firstName);
System.out.println("Your name last name: " lastName);
}
private static String upperCaseFirstLetter(String name) {
return Character.toUpperCase(name.charAt(0)) name.substring(1);
}
uj5u.com熱心網友回復:
一種解決方案是使用 - 方法將 String 設為 String 陣列split(regex)。它將一個字串拆分為一個字串陣列,并在正則運算式中將它們分解。例如:
String text = "This is a text.";
String textArray = text.split(" ");
for(String element : textArray)
{
System.out.println(element);
}
將列印
This
is
a
text.
如果你有這樣的 String[],你可以選擇第二個 String(陣列的索引 1)并將其大寫。例如,您可以在 foreach 回圈中這樣做。
String text = "This is a text.";
text = text.trim(); // if you want to trim it.
String[] textArray = text.split(" ");
String newText = "";
int index = 0;
for(String element : textArray)
{
if(index == 1)
{
element = element.toUpperCase();
}
newText = newText element " ";
index ;
}
System.out.println(newText);
如果你想處理錯誤,你可以像這樣放入一個 try-catch-block 。
try
{
[Your code]
}
catch (Exception e)
{
System.out.println("An error occured.");
}
當然,這不是一個很短的方法。但是,它很容易理解,甚至可以處理由幾個單詞組成的字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/521552.html
標籤:爪哇细绳子串指数字形
