教えてください。
class test
{
public static void main(String args[])
{
int A,B,C,D;
String N,n;
A = Integer.parseInt(args[0]);
if(!(args.length == 0))
{
if(args[0].length() <= 2 || args[0].length() >= 10)
{
System.out.println("入力された文字列のバイト数は"
+ args[0].getBytes().length + "です");
}
else if(args[0].length() >= 5 || args[0].length() <= 7 )
{
D = args[0].getBytes().length;
D = D - 1;
System.out.print("入力された文字列の長さは" + ( D ) + "です");
}
else if(args[0].indexOf("N") >= 0 || args[0].indexOf("n") >= 0)
{
System.out.println("引数には'N' または 'n' が含まれていません");
}
else if(args[0].indexOf("N") >= 0 || args[0].indexOf("n") >= 0)
{
System.out.println("引数には'N' または 'n' が含まれています");
}
}
}
}
プログラムの仕様は、
プログラムに引数を1つ指定して実行した時、
入力された文字列の長さが、
2 以下、又は 10 以上である場合、
入力された文字列のバイト数を表示
5 以上、かつ、7以下である場合、
入力された文字列の[長さ-1]の値を表示
その他の場合、
入力された文字列の中に、
半角英数字の 'N' または 'n' が含まれている場合は、
引数には'N' または 'n' が含まれています
それ以外の場合は
引数には'N' または 'n' は含まれていませんと表示
このようにさせたいんです。
実行例は、
・D:\Work>java test z
入力された文字列のバイト数は 1 です
・D:\Work>java test dertftd
入力された文字列の長さは 6 です
・D:\Work>java test asd
引数には'N' または 'n' は含まれていません
・D:\Work>java JavaSample7 nfc
引数には'N' または 'n' が含まれています
と、実行させたいんですが、Nやnを入力して実行するとエラーが出てしまうんです・・・
長くなって申し訳ないんですが、どなたかご教授いただけないでしょうか?