相关疑难解决方法(0)

负数输出应为正数

我正在研究一个java项目,我有一个让我疯狂的循环.

程序采用输入N,这是一个正整数.我希望我的循环做的是:

假设N = 10.循环将取1到10的所有数字,将其提高到第五个幂,并将每个值存储在长度为N的数组中.

它(看似)正常工作,直到N = 73我想.一旦N达到74或更高,它开始随机给我74 ^ 5的负数.这显然是不正确的.数字越高,它给我的负面影响就越大.

private static int _theLimit = EquationSolver.getLimit(); //input "N"
private static int length = (int) (_theLimit); //length of possible solutions array = N
static int[] _solutions = new int[length]; 

public static void solutionRun() {
    for(int i = 1; i <=_theLimit ;) { 
        //theLimit refers to the input N; for numbers from 1 until N
        for (int p = 0; p <= _solutions.length-1; p++) { 
            //solutions is an …
Run Code Online (Sandbox Code Playgroud)

java math

4
推荐指数
1
解决办法
604
查看次数

用于将IEEE 754 double转换为字符串的纯Java代码

我有一个64位long包含IEEE 754表示的a double.我想将它转换为字符串就像标准Java Double.toString(d)一样.但是,我不能使用Double该类的任何方法,因为它们是错误的.(String.valueOf(d)并且"" + d也不工作,因为它们在Double.toString(d)内部使用.NumberFormat不起作用,因为它会失去精度.)所以我需要纯Java代码来进行转换.

我在哪里可以找到这样的代码?我尝试了GNU Classpath的源代码,但它使用本机方法进行此转换.

java string double ieee-754

3
推荐指数
1
解决办法
1182
查看次数

奇怪的Java数学执行

我有一个奇怪的问题.我试图将方程的结果存储到一个双变量中.

double s = (((100 + 1)*(1/3))/100 + (1/3));
Run Code Online (Sandbox Code Playgroud)

这将返回值0而不是.67(从计算器计算的正确值).这可能发生的原因是什么?

注意:说我可以使s = .67的解决方案不是解决方案,

提前致谢.

java math

2
推荐指数
1
解决办法
90
查看次数

BigDecimal setScale方法语法不起作用

这段代码在我提到的setScale()行中给出了一个错误; 它给我一个错误说Rounding必要.我正在尝试创建一个应用程序,它将接受cp和sp,然后根据利润/损失找到盈利/亏损百分比.有人可以帮我解决BigDecimal声明吗?

```java
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;

abstract class functions
{
    abstract void cpSP();
}

public class Percentage
{
    static Scanner sc = new Scanner(System.in);
    public void cpSP()
    {
        System.out.println("Enter the Cost Price:");
        double CP = sc.nextDouble();
        System.out.println("Enter the Selling Price:");
        double SP = sc.nextDouble();
        if (CP > SP)
        {
            System.out.println("As the Cost Price is greater than the Selling Price, there will be LOSS.");
            System.out.println("Loss = CP - SP");
            double loss = CP - SP;
            System.out.println("Loss = " …
Run Code Online (Sandbox Code Playgroud)

java bigdecimal percentage

2
推荐指数
1
解决办法
954
查看次数

Java将两个双倍乘以另一个双倍

我正在尝试替换payRate * hoursWorked为单个变量,grossPay但是当我这样做时,它会为任何计算返回0.0值.double grossPay有目的地被评论出来,所以你可以看到我想要做的事情.

import java.text.*;
import java.util.Scanner;



public class elseIfPayroll{

        public static void main(String[] args){


        double hoursWorked =0.00;
        double payRate =0.00;
        int dependents =0;



        Scanner keyboard = new Scanner(System.in);
        NumberFormat f = new DecimalFormat("#0.00");


            System.out.print("Enter pay rate: ");
            payRate = keyboard.nextInt();

            System.out.print("Enter hours worked: ");
            hoursWorked = keyboard.nextInt();

            System.out.print("Enter amount of dependents: ");
            dependents = keyboard.nextInt();

            double grossPay= (payRate * hoursWorked);

//gross pay decision statements

        if (hoursWorked<=40) {
            System.out.println("Total $ Earned: " + …
Run Code Online (Sandbox Code Playgroud)

java double

-2
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×5

double ×2

math ×2

bigdecimal ×1

ieee-754 ×1

percentage ×1

string ×1