小编Jes*_* M.的帖子

运算符+ = vs = +之间有什么区别

我刚刚意识到我正在使用= +而不是运算符+ =而我的程序正在做各种奇怪和意想不到的事情.Eclipse没有给我任何类型的错误,所以我认为= +是一个合法的运算符,但在我的书中没有提到它.

我的问题是= +做什么,如果做什么,在什么情况下你会使用它?

java operators

15
推荐指数
3
解决办法
4967
查看次数

当第一个数小于第二个数时,模数除法

如果这是一个简单的问题,我很抱歉,但是当第一个数字小于第二个数字时,我无法理解模数除法的概念.例如,当我的书中1%4表示余数为1.我不明白1是1%4的剩余部分
.1/4是0.25.我在考虑模数除法错误吗?

java arithmetic-expressions modulo integer-division

14
推荐指数
3
解决办法
9964
查看次数

for循环和while循环总是可以互换的

我理解一个人在某种情况下具有某些优势的概念,这取决于具体情况但是在每种情况下它们是否可以互换?我的教科书写道

for (init; test; step) {
    statements; 
} 
Run Code Online (Sandbox Code Playgroud)

是完全相同的

init; 
while (test) { 
    statements; 
    step; 
} 
Run Code Online (Sandbox Code Playgroud)

如何在for循环中重写以下程序?如果我将以下程序重写为for循环形式,我在设置init和测试的值时遇到问题.

import acm.program.*;

public class DigitSum extends ConsoleProgram{  
public void run() {
     println("this program sums the digits in an integer");
     int n = readInt("enter a positive number: ");
     int dsum = 0;
     while ( n > 0) {
       dsum += n % 10;
       n /=10;
     }
    }
   }
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
2
解决办法
4752
查看次数

RandomGenerator - 失去50%的飞机模拟

我正在研究一个我有点困惑的问题.问题是假设你在二战期间是英国空军的将军.你还有100架飞机来保卫英国.每次执行任务时,每架飞机都有50%的机会被德国防空炮击落,所以每次任务都会损失大约一半的飞机.你必须编写一个程序来估计每次任务后将有多少架飞机存活,以及你可以运行多少任务直到所有飞机都被击落.

我的程序不起作用,我不知道它有什么问题,所以我猜英格兰遇到了麻烦.我试图用两个while循环来解决这个问题.外部while循环表示只要你有飞机就可以将它们发送给另一个任务.内部while循环模拟实际任务.在while循环存在之后,平面的总数现在是幸存的平面.

import acm.program.*; 
import acm.util.*;

public class MissionPlanes extends ConsoleProgram{
public void run(){

  int planes = 100;  /* total number of planes */
  int suvPlanes = 0;  /* surviving planes  */
  int mission = 0;      /* total number of missions */
  int planeCounter = 0;   /* keeps track of the planes flying over the anti plane gun  */


  while (planes > 0){

       while(planeCounter < planes){
             planeCounter++;
             if(rgen.nextBoolean()){   /* I've tried rgen.nextBoolean() with paramaters and with no paramaters */
              suvPlanes …
Run Code Online (Sandbox Code Playgroud)

java

6
推荐指数
1
解决办法
154
查看次数

布尔实例变量的默认值是true还是false

  1. 如果在类中创建实例变量,则默认值为true或false,否则更改?

  2. 将实例变量设为ex是一种好习惯.如果为true,则将值更改为false并在整个类中使用该变量?或者你应该在概念上避免使用实例变量?

java instance-variables

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

java中术语"解析"的起源是什么?

在java中,我注意到有与转换相关的方法,strings并且这些方法有时在方法的名称中使用"parse"一词.例如静态方法,

static int parseInt(String str)
Run Code Online (Sandbox Code Playgroud)

用于转换stringint.我的问题是这个.另一个词是"解析"的缩写吗?它只是一个随机的词,还是来自Java或其他任何地方的其他编程环境中的其他地方?

java string

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

编写计算指数的程序

我正在尝试编写一个打印数字2的指数结果的程序,我想打印出10次.我想创建一个使用Math.pow(x,y)方法计算指数值的方法.

2的功率为0 = 1
2,功率为1 = 2
2,功率为2 = 4

我有一些问题.你能像我在下面那样在for循环中使用Math.pow方法吗?如何在for循环中的Math.pow(x,y)方法中声明x和y的值,还是必须在for循环之外进行?另外,在Eclipse中的raiseIntPower方法中,当我使用int n作为参数时,它给出了"重复的局部变量错误".我的理解是方法参数指定方法所需的参数.我不明白那个重复错误的含义.

import acm.program.*;


public class Exponents extends ConsoleProgram {

  public void run(){
      for (int n = 0; n <= 10; n++) {

            println("2 to the power of " + n + " = " + raiseIntPower(n)); 

     } 

  }
private int raiseIntPower (int n){
   int total = 0;
   for( int n = 0; n <= 10; n++){
     total = Math.pow(2, n);

  } 

return total; 
  }
}
Run Code Online (Sandbox Code Playgroud)

java math

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

使用 Math 类将余弦转换为度数

我不知道我是否对正弦、余弦和正切有根本性的误解,或者我对 Math 类的某些方法有误解,或者我错过了其他一些东西,但我有点困惑。

我有一个 B = 90 度的直角三角形 ABC。AB 是垂直的,BC 是平的,AC 是斜边。AB = 125 和 AC = 150 的长度值。我想找到角度 A 的值。

在此处输入图片说明

我首先尝试找到余弦,然后我想将余弦转换为度数。

double AB = 125;
double AC = 150;


double angleA = Math.cos(AB / AC);
double angleADegrees = Math.toDegrees(angleA);
println(angleADegrees);
Run Code Online (Sandbox Code Playgroud)

编写的程序返回 57.295。如果我在我的计算器上尝试,我会得到不同的答案。如果我在计算器上计算得出余弦 = 125/150,我会得到 0.8333。Cos^-1(.83333) = 33.5573。奇怪的是 57 + 33 + 90 = 180。我上面的程序以某种方式确定了角度 C 而不是角度 A 的值。我计算余弦是错误的还是误用了 Math 类的方法?我不知道为什么我的程序不返回 33,我认为这是角度 A 的值。

java math

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

循环和步骤

init; 
while (test) {
  statements;
  step;
    }
Run Code Online (Sandbox Code Playgroud)

我有一个关于上述while循环中步骤位置的问题.写步骤的位置是否重要?换句话说,如果将步骤写为第一个语句或者在中间或末尾的某个位置,它是否会更改while循环中的任何值?如果确实如此,您可以提供一个简短的例子来说明这种效果.

java loops

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

使用RandomGenerator翻转硬币

我正在尝试编写一个模拟翻转硬币的程序.硬币第一次翻转我希望程序退出.我的while循环中的第一个语句翻转了一次硬币.然后我有一个if语句,说明我刚刚翻转的硬币是否退出程序.但我的计划并没有按照我想要的方式运作.有时

我的问题是我在while循环中每1个周期翻一次或两次硬币吗?硬币是否在while循环中翻转一次,然后在if条件下第二次翻转?我已经测试了它,但它每次都给出了不同错误的不同结果,我无法弄清楚原因.

if条件对于我在程序中尝试做的是否正确?

import acm.program.*;
import acm.util.*;

public class CoinToss extends ConsoleProgram{
public void run(){


     while (true){
        println(flipCoin());
        if (flipCoin() == "heads"){
               break;
             }   
        }
  }

public String flipCoin(){
   String flip = rgen.nextBoolean() ? "heads" : "tails"; 
   return flip;
 }


public RandomGenerator rgen = RandomGenerator.getInstance();
}
Run Code Online (Sandbox Code Playgroud)

java

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