我正在研究一个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) 我有一个64位long包含IEEE 754表示的a double.我想将它转换为字符串就像标准Java Double.toString(d)一样.但是,我不能使用Double该类的任何方法,因为它们是错误的.(String.valueOf(d)并且"" + d也不工作,因为它们在Double.toString(d)内部使用.NumberFormat不起作用,因为它会失去精度.)所以我需要纯Java代码来进行转换.
我在哪里可以找到这样的代码?我尝试了GNU Classpath的源代码,但它使用本机方法进行此转换.
我有一个奇怪的问题.我试图将方程的结果存储到一个双变量中.
double s = (((100 + 1)*(1/3))/100 + (1/3));
Run Code Online (Sandbox Code Playgroud)
这将返回值0而不是.67(从计算器计算的正确值).这可能发生的原因是什么?
注意:说我可以使s = .67的解决方案不是解决方案,
提前致谢.
这段代码在我提到的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)我正在尝试替换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)