3

そのようにJavaで書くことになっていますか?そうでない場合は、どのように記述すればよいですか?

ここに画像の説明を入力

import java.util.*;
public class Soru {
    public static void main(String[] args) {    
        int m,n,c;
        double f=0;
        Scanner type = new Scanner(System.in);
        System.out.print("Enter the m value :");
        m=type.nextInt();
        System.out.print("Enter the n value :");
        n=type.nextInt();
        System.out.print("Enter the c value :");
        c=type.nextInt();       
        f=Math.pow(c, m/n);
        System.out.println("Resul:"+f);
    }
}
4

2 に答える 2

6

他の言語と同様に、m/nは整数になりm=1,n=2、 の場合は次のようになります。m/n=0

非整数の結果が必要な場合は、評価でmand をnas - またはキャストすることを検討してください。doubles

例:

int m = 1, n = 2, c = 9;
System.out.println(Math.pow(c, m/n));
System.out.println(Math.pow(c, ((double)m)/n));

生成されます:

1.0
3.0
于 2013-11-05T10:34:42.033 に答える
1

m/n が int の場合、ロジックは正しく、完全に機能しますが、正しい結果が得られない場合があります。たとえば、 5^(5/2)は5^2の結果を返します。したがって、次の変更を行います。

int m,n,c;
double f=0;
Scanner type = new Scanner(System.in);
System.out.print("Enter the m value :");
m=type.nextInt();
System.out.print("Enter the n value :");
n=type.nextInt();
System.out.print("Enter the c value :");
c=type.nextInt();
f=Math.pow(c, (double)m/n);
System.out.println("Resul:"+f);

完全なコードは次のとおりです。

import java.util.*;

public class Soru {

    public static void main(String[] args) {
        int m,n,c;
        double f=0;
        Scanner type = new Scanner(System.in);
        System.out.print("Enter the m value :");
        m=type.nextInt();
        System.out.print("Enter the n value :");
        n=type.nextInt();
        System.out.print("Enter the c value :");
        c=type.nextInt();
        f=Math.pow(c, (double)m/n);
        System.out.println("Resul:"+f);    
    }
}

出力

Enter the m value :5
Enter the n value :2
Enter the c value :2
Resul:5.65685424949238
于 2013-11-05T10:39:53.060 に答える