2017-06-09 28 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