出于某种原因,我一直在试图编译这段代码时出错,但似乎一切都正常,对吗?
导入java。util.*;公共类平方根{public static void input(){
Scanner input = new Scanner (System.in);
double number = 16;
double root;
root = square(number);
System.out.println("Enter Guess");
double oldguess = input.nextDouble();
squareRoot(0, oldguess);
}
public static double square(double number){
double t;
double squareroot = number / 2;
do {
t = squareroot;
squareroot = (t + (number / t)) / 2;
} while ((t - squareroot) != 0);
return squareroot;}
public static double squareRoot(double newguess, double oldguess){
if (newguess == square(19)){
return newguess;
}
else{
newguess = (oldguess + (19/oldguess))/2;
System.out.println(newguess);
return squareRoot(newguess, oldguess);
}
}
}
因为oldguess
是一个常数。因此,在第一次运行之后,此代码每次都会生成相同的结果:
newguess=(oldguess(19/oldguess))/2
你需要缓存
new猜测
在ther
的开头,做你的计算,然后用new猜测
中缓存的值替换old猜测
。
像这样:
public static double squareRoot(double newguess, double oldguess) {
double cache;
if (newguess == square(19)) {
return newguess;
} else {
cache = newguess;
newguess = (oldguess + (19 / oldguess)) / 2;
oldguess = cache;
System.out.println(newguess);
return squareRoot(newguess, oldguess);
}
}
我编写了以下代码来实现BST的递归插入方法。但是当我以遍历顺序打印树时,它会在插入之前打印原始树。似乎没有插入元素。请帮帮我。提前谢谢。另外,请建议更改代码。顺便说一下,初始树的遍历顺序是2 5 6 7 8。
问题内容: 我有以下代码: 我希望它能打印a = 2 b = 1,但它却打印相反的东西。因此很明显,swap方法不会交换a和b值。为什么? 问题答案: 这与整数的不变性无关。它与 Java是值传递 ,该死 的事实有关! (不烦恼,只是文章标题:p) 总结一下:您实际上不能在Java中创建交换方法。您只需要在需要的地方自己进行交换即可。反正这只是三行代码,所以应该不成问题:)
问题内容: 这段代码有什么问题: 问题答案: 三元运算符不能有不返回值或方法的语句。您需要具有返回值的语句。 您需要重写它。
输入是:1。硬币中一定数量货币的总重量,2。旧货币硬币的价值和相应重量。 目标是找到给定金额货币的最低可能货币价值。 我的方法是按货币的价值/重量比升序对硬币进行排序,然后贪婪地将第一枚硬币的重量尽可能多地匹配到总和中(跟踪它匹配的次数),然后匹配将第二枚硬币的重量尽可能多次地放入余数中,等等,对于所有硬币或直到余数为零(如果不是,情况是不可能的)。 法官说我的答案是错误的。你能给我一个关于算法错
这是一个交集方法,在该方法中,我应该返回一个包含列表和中所有相同元素的列表,但该程序正在无限循环,并且该方法中唯一的循环可以无限循环,所以我不明白它为什么不工作。 和方法工作非常好。 我更新了代码,我认为它会起作用,但现在在toString方法的行中出现了另一个错误。这是一个空指针异常,但为什么它是一个错误?
我了解碰撞检测的基础,并开发了我自己的碰撞检测方法(据我所知)。然而,这似乎并不奏效。我所做的不是围绕精灵、形状和其他对象绘制完整的矩形,而是简单地在对象的所有边(左、右、上、下)绘制线条(非常细的矩形)。 在指定子画面的左侧、右侧、顶部和底部绘制细矩形的方法。这可能不是进行碰撞的最佳方式,但这就是我所拥有的,并且对所有想法和不同的解决方案持开放态度! 注:(int)(x-Game.getCame