0

私は基本的な計算を実装しようとしています。プログラムは 2 つの数字を取り、10 を 5 で割ると問題なく動作し、答えは 2 になります。小さい値を大きい値で割ると 0 になります。分数で答えを求めることはできますか?

例 8 を 100 で割ると、0 ではなく 8/100 になります。

 public class numtheory {

     public static void main(String[] args) {

         int n1;
         int n2;
         Scanner scan = new Scanner(System. in );
         System.out.println("input number 1: ");
         n1 = scan.nextInt();
         System.out.println("input number 2: ");
         n2 = scan.nextInt();
         int temp1 = n1 / n2;
         System.out.print("\n Output :\n");
         System.out.print(temp1);
         System.exit(0);

     }

 }
4

4 に答える 4

3

分数を生成したい場合は、次のように印刷できます。

System.out.println(n1 + "/" + n2);

これにより、指定された数値が出力されますが、減りません。ただし、次のような方法でそれらを自分で減らすことができます。

int n = n1;
int d = n2;

while (d != 0) {
    int t = d;
    d = n % d;
    n = t;
}

int gcd = n;

n1 /= gcd;
n2 /= gcd;

そして、それらを印刷します:

System.out.println(n1 + "/" + n2);
于 2013-04-25T17:34:33.763 に答える
0

整数を使用する代わりに、double を使用する必要があります。これは、integer には while のみを含めることができ、double には 10 進数を含めることができるためです。

すべての int を double に変更するか、in を dooing して double にキャストできます

((double) yourIntValue)
于 2013-04-25T16:47:28.217 に答える