Java
1package test; 2 3import java.util.HashMap; 4import java.util.Map; 5 public class Num { 6 public String Num01(String in){ 7 char[] out = in.toString().toCharArray(); 8 char[] newOut = new char[10]; 9 10 newOut[0] =out[2]; 11 newOut[1] =out[3]; 12 newOut[2] =out[4]; 13 newOut[3] =out[5]; 14 newOut[4] =out[6]; 15 newOut[5] =out[7]; 16 newOut[6] =out[8]; 17 newOut[7] =out[9]; 18 newOut[8] =out[0]; 19 newOut[9] =out[1]; 20 21 22 int total = 0; 23 int value01 = Integer.parseInt(in.substring(i, i + 1)); 24 switch(newOut){ 25 case newOut[0]: 26 case newOut[7]: 27 total += value01 * 2; 28 break; 29 case newOut[2]: 30 case newOut[5]: 31 case newOut[8]: 32 total += value01 * 5; 33 break; 34 case newOut[1]: 35 case newOut[3]: 36 case newOut[4]: 37 total += value01 * 9; 38 break; 39 case newOut[6]: 40 case newOut[5]: 41 case newOut[9]: 42 total += value01 * 7; 43 break; 44 default: 45 break; 46 } 47 48 return new String(newOut); 49} 50}
1234567890の引数をうけ、
1桁目と7桁目の値にはx2をして、2桁目と5桁目と8桁目の値にはx5をして、
1桁目と3桁目と4桁目の値にはx9をして、6桁目と5桁目と9桁目の値にはx7をしたいです。
10桁目以降はなし。
1234567890 → 2076526030としたい。かけた値の1桁目のみ表示させたい。
実行したら、配列型をswitchでデータの受け渡しはできないとエラーがでました。
どのようにしたら、1234567890の桁数に対して計算ができるようになるのか教えていただきたいです。
修正後 +1ができない。。
java
1package test; 2 public class nouNum { 3 public String Num01(String in){ 4 int num = Integer.valueOf(in); 5 int num01=(num+1); 6 String numStr = String.valueOf(num01); 7 for(int i = 0; i < numStr.length(); ++i) { 8 String digit = numStr.substring(i, i+1); 9 System.out.printf("%2d桁目は%dです。\n", i+1, Integer.valueOf(digit)); 10} 11return numStr; 12 13} 14} 15 16public class main { 17 public static void main(String[] args) { 18 nouNum test01 =new nouNum(); 19 System.out.println(test01.Num01("9876543210")); 20 21 } 22 23} 24
実行したらエラーが出てしまいました。
Exception in thread "main" java.lang.NumberFormatException: For input string: "9876543210"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.valueOf(Integer.java:983)
at kakeibo.java/test.nouNum.Num01(nouNum.java:5)
at kakeibo.java/kakeibo.java.main.main(main.java:12)
回答4件
あなたの回答
tips
プレビュー