私は、ユーザーがローマ数字を1から10の間で入力し、それと同等の10進数を出力するプログラムを作るように宿題を頼んだ。私は入力の文字列と出力の整数を取得するので、私はそれを解析しましたが、動作しません。なぜどんなアイデア?なぜ私の解析がうまくいかないのですか?
import java.util.Scanner ;
class Romans {
static Scanner s = new Scanner(System.in) ;
static String val = null ;
public static void main (String [] args)
{
System.out.print ("Enter a roman numeral between I to X: ");
String val = s.nextLine();
int e = Integer.parseInt(val);
}
static int getRoman (int e)
{
if (val = "I"){
System.out.print ("1") ;
}else if (val = "II"){
System.out.print ("2") ;
}else if (val = "III") {
System.out.print ("3") ;
} else if (val = "IV") {
System.out.print ("4") ;
} else if (val = "V"){
System.out.print ("5");
} else if (val = "VI") {
System.out.print ("6");
} else if (val = "VII") {
System.out.print ("7");
} else if (val = "VIII") {
System.out.print ("8");
} else if (val = "IX") {
System.out.print ("9");
} else if (val = "X") {
System.out.print ("10") ;
}
return val ;
}
}
ヒント:文字列比較を正しく行う方法を調べます。 – Howard
別のヒント:同じエラーがX回前後に繰り返されます:) –
「動作しません」は問題の適切な説明ではありません。 –