2017-06-09 27 views
0

我試圖獲得字符串的中間,第一個&最後一個字符。這是我所做的。我不確定究竟需要做什麼。字符數組的打印內容給出了outofbound異常

import java.util.*; 
class Test11{ 
public static void main(String args[]){ 
    Scanner sc=new Scanner(System.in); 
    String input=sc.nextLine(); 
    int length=input.length(); 
    int even_odd=length%2; 
    if(even_odd==1){ 
     int mid=length/2; 
     char mid_letter[]=input.toCharArray(); 
     int first=0; int last=length; 
     System.out.println(mid_letter[mid]+mid_letter[first]+mid_letter[last]); 
     } 
    else System.out.println("Even String has no mid point. Try Again!"); 
} 

回答

1

你的最後一個變量必須

last = length-1 

由於Java是 '從零開始'。

+0

編譯,但沒有返回字符,而是305. –

+0

你應該能夠擺脫char mid_letter [] = input.toCharArray();只是做你在做什麼輸入。輸入[MID] +輸入[第一] +輸入[最後]。 – DJSweetness

+0

您的輸入是什麼? – DJSweetness