2013-05-15 104 views
-2

我需要切斷用戶輸入字符串的一半。我已經試過這一點,並沒有奏效:切斷字符串的後半部分

Scanner sc = new Scanner(System.in); 
    String nameOne = sc.nextLine(); 
    chars[] oneChars = new char[nameOne.length]; 
    double oneLength = oneChars.length/2; 
    Math.round(oneLength); 
    int oneLen = (int)oneLength; 
    String nameOneFinal = ""; 
    for(int i = 0; i == oneLen--; i++) { 
     oneChars[i] = oneChars[oneLen]; 
     nameOneFinal = nameOneFinal + oneChars[i]; 
    } 
+3

如何使用字符串#子()? – maba

+0

顯示輸入輸出示例。我不明白你的要求,你的代碼由於一些邏輯錯誤而被解釋爲複雜的... – jlordo

+0

爲什麼不使用Substring方法? – 7h4ro3

回答

3
final int mid = nameOne.length()/2; 
String[] parts = { 
    nameOne.substring(0, mid), // 1st part 
    nameOne.substring(mid), // 2nd part 
}; 
0

使用SubString方法得到這個

String str = "CutThisBytwo"; 
int len = str.length(); 
String firstHalfStr = str.substring(0, len/2); 
String secondHalfStr = str.substring(len/2,len); 
System.out.println(firstHalfStr); 
System.out.println(secondHalfStr); 
-1

簡單的辦法:使用String.substring(int index1, int index2)

難的方法:

String new = ""; 

for(int i = 0; (i < old.length() - 1)/2; i++){ 

    new += old.charAt(i); 

} 

如果是做家庭作業,艱難的方式可能會讓你變得布朗尼點,但如果不是簡單的方法。使用substring方法

+0

您使用** new **作爲變量名稱。新是Java的保留字。這個例子會導致錯誤; – T04435

2

...你可以做到這一點 例:

public String extraEnd(String str) { 

String s = str.substring(str.length()/2);//it will have the last half of string 

return s ; 
}