如何将不同的文本放在从循环中打印的消息中

时间:2016-10-23 02:10:01

标签: java loops

我是Java的新手,因此我对大部分术语都不太熟悉。我相信有人之前已经问了这个,但我似乎无法弄清楚要搜索的短语。

无论如何,我的问题是我正在进行一项任务,我生成5个随机数,显示它们,添加它们,看看数字是否为素数。虽然我不知道该怎么做,我的问题实际上是显示随机生成的数字。我不知道如何将代码放在这里,所以我只是复制并粘贴我的。

public static void main(String[] args) {
  int sim = 0;
  System.out.print("The five random numbers are: ");
  for (int i = 0; i < 5; i++)
  {
    sim += (int)(Math.random()*2.9999) + 1;
    System.out.print(sim + ", ");
  }
}

现在我的问题是,我试图让它显示“五个随机数是:3,6,7,10和12”的结果。

但相反,我得到“五个随机数是:3,6,7,10,12,”那么在循环生成的时候,我怎么把和它放进去呢?我需要一个单独的循环吗?对不起,如果这个问题很愚蠢,我只是完全迷失在这个项目上。

2 个答案:

答案 0 :(得分:1)

这是@ DevilsHnd解决方案的社区维基回答:

int sim = 0;
int nb=4;

System.out.print("The five random numbers are: ");
for (int i = 0; i <= nb; i++)
{
    sim += (int)(Math.random()*2.9999) + 1;

    if ( i < nb ) {
        System.out.print(sim + ", ");
    } else {
        System.out.print("and " + sim + ".");
    }
}

我觉得sim +=是一个错误。

如果您希望打印随机数并将它们一起添加,您可能需要一个额外的变量:

int sumSum=0;
int nb=4;

System.out.print("The five random numbers are: ");
for (int i = 0; i <= nb; i++)
{
    int sim = (int)(Math.random()*2.9999) + 1;
    sumSum += sim;

    if ( i < nb ) {
        System.out.print(sim + ", ");
    } else {
        System.out.print("and " + sim + ".");
    }
}

我补充说:

  • int sumSum = 0;
  • sumSum + = sim;

sumSum未被打印,但保留了5个数字的总和。

答案 1 :(得分:0)

试试这个:

public static void main(String[] args) {
  int sim = 0;
  System.out.print("The five random numbers are: ");
  for (int i = 0; i < 5; i++)
  {
    sim += (int)(Math.random()*2.9999) + 1;
    if(i==3){
      System.out.print(sim + " and ");
    }
    else{
    System.out.print(sim + ", ");
    }
  }
}

添加条件以检查倒数第二个数字,在这种情况下添加and而不是,