9進数のものを3進数にするプログラムです。これまでいただいたアドバイスをもとに自分のレベルでできるくらいのものをつくってみましたが実行結果があいません。
10進数のところで表示したところまずそこが違うので9進数から10進数にするところが間違っているのだと思います。どこを直したらよいか教えてください。
import
1public class kadai3_1{ 2 public static void main(String[] args)throws IOException{ 3 4 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 5 System.out.print("9進数"+" "); 6 String sinsu=br.readLine(); 7 char a; int b=0; int c=0; String d=" "; int k=0; 8 int sinsu1[]=new int[sinsu.length()]; int s=0; 9 int sinsu2[]=new int [1000]; 10 11 for(int i=0;i<sinsu.length();i++){ 12 sinsu1[i]=sinsu.charAt(i); 13 if(sinsu1[i]==9){ 14 System.out.println("9進数ではない"); 15 break; 16 } 17 } 18 19 for(int j=sinsu.length()-1;j>=0;j--){ 20 double kaijyou=Math.pow(9,k); 21 22 b+=sinsu1[j]*kaijyou; 23 k++; 24 } 25 System.out.println(b); 26 27 28 while(b>=3){ 29 c=b%3; 30 b=b/3; 31 sinsu2[s]=c; 32 s++; 33 } 34 sinsu2[s]=b; 35 for(int y=s;y>=0;y--){ 36 System.out.print(sinsu2[y]); 37 } 38 39 } 40} 41 42コード
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/11 02:53
2018/04/11 10:16
退会済みユーザー
2018/04/11 11:14