Java“For”循环输出重复

时间:2016-07-25 14:54:13

标签: java for-loop

我是一个初学者,试图编写一个java代码来生成输出数,这是2和5的主要因素。

例如,如果输入 8 ,则输出应为 2 4 5 8 。 但是,每当我打印输出时,结果将是2 5 4 5 8 5.

请告诉我哪里出错了。 谢谢

import java.util.Scanner;

class twofive {
  public static void main(String [] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter n:");
    int n = sc.nextInt();                                                     
    double num = 0; 
    double num2 = 0;
    for (int i = 1; (((Math.pow(2,i))<= n) || ((Math.pow(5,i)) <=n) || (((Math.pow(2,i))<= n) && ((Math.pow(5,i)) <=n))) ; i++) {
      if (( Math.pow(2,i)) <= n)                                                  
        num = (Math.pow(2,i));
      int convert = (int) num;{
        System.out.print(convert + " ");
      }
      if ((Math.pow(5,i)) <= n)
      num2 = (Math.pow(5,i));
      int convert2 = (int) num2;
      {System.out.print(convert2 + " ");  
   }
  }
 }
}

1 个答案:

答案 0 :(得分:0)

在您查看@AmedeeVanGasse的评论后,您需要修复大括号。

    Dim originalDate As Date = #2016-07-01# 'get this value from the database
    Dim testDate As Date = #2016-07-15# 'this is the date you want to compare to. Use DateTime.Now to use the current date
    Dim daysBetween = (testDate - originalDate).TotalDays '14

您还应该检查public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter n:"); int n = sc.nextInt(); double num = 0; double num2 = 0; for (int i = 1; Math.pow(2,i))<= n) || ((Math.pow(5,i)) <=n) || (((Math.pow(2,i))<= n) && ((Math.pow(5,i)) <=n))) ; i++) { if (( Math.pow(2,i)) <= n) { num = (Math.pow(2,i)); int convert = (int) num; System.out.print(convert + " "); } if ((Math.pow(5,i)) <= n) { num2 = (Math.pow(5,i)); int convert2 = (int) num2; System.out.print(convert2 + " "); } } } 循环和for语句中的逻辑。他们充满了不必要的裁员。