2017-02-27 7 views
0

の場合は、このコードを解決するのに手伝ってください。 あなたが使用私の外にこれらの行を印刷する方法を主な懸念「それが10以上で、20文字未満の長い場合、名前の長さを印刷し、そして名前に3番目の文字」名前の長さが10文字以上20文字未満で、名前の3文字目が

public static void main(String[] args) { 
    System.out.println("Class activity"); 

    Scanner scn = new Scanner(System.out); 
    System.out.println("Please enter your name"); 
    String name = scn.nextDouble(); 
    Main.processName(name); 
} 

/** 
* Print out the length of the name if it is more than 10 and less than 20 characters long, and the third letter in the name 
*/ 
private int processname(String name) { 
    int len = name.len(); 
    if (len > 10 | len < 20) { 
     System.out.println("Wow," + name + " that name is between 10 and 20 characters long!"); 
    } 
    char thirdLetter = name.charAt(3); 
    System.out.println("Your name has " + len + " letters and the second letter is " + thirdLetter); 
} 
+3

論理的または||、ではありません|。 –

答えて

0

1) length節でANDの代わりにORを指定します。

2)それだけではエラーではなく、長さが0〜20のものすべてを取得します。しかし、エラーは論理ORが|| |ではない。同様に論理ANDは& &です。

3)さらに、文字列の3番目の文字は、charAt(3)ではなくcharAt(2)です。最初の文字は0のインデックスを持っています。

関連する問題