2015-09-06 58 views
-2

的输出数据是从1显示max,每行一个有以下例外:触发器号码检查

  • 数整除a被替换为单词“翻转”
  • 数通过b整除被替换为
  • 号双方整除由“触发器”
  • 012一词改为 “翻牌”

我被卡住了,需要一个小方向来解决我的问题。我想也许for循环将是完美的通过和列出数字,并有if else检查每个数字与用户选择的输入数字。

import javax.swing.JOptionPane; 

public class FlipFlop { 
    public static void FlipFlop(Integer a, Integer b, Integer Max) { 
     for (int i = 1; i < Max; i++) { 
      if (i % a == 0) { 
       System.out.println("Flip"); 
      } else if (i % b == 0) { 
       System.out.println("Flop"); 
      } else if (i % a == 0 && i % b == 0) { 
       System.out.println("FlipFlop"); 
      } else { 
       System.out.println(i); 
      } 
      System.out.println(); 
     } 
    } 

    public static void main(String[] arg) { 
     Integer a; 
     Integer b; 
     Integer max; 
     String Title = "FlipFlop Assignment"; 
     String data = JOptionPane.showInputDialog(null, "Enter your first number", Title, 1); 
     a = new Integer(data); 
     data = JOptionPane.showInputDialog(null, "Enter your second number", Title, 1); 
     b = new Integer(data); 
     data = JOptionPane.showInputDialog(null, "Enter the upper bound", Title, 1); 
     max = new Integer(data); 
     FlipFlop(a, b, max); 
    } 
} 
+1

请[edit]添加一个特定的问题陈述 - “它不起作用”可以假设,但* how *不起作用?什么错误信息或不正确的行为是特征? –

+0

同上。你遇到了什么错误? – xdhmoore

+0

对不起!它无法在for循环中找到“max”整数的符号。最大符号是用户输入的整数。 – Eagles11

回答

0
  • Integer,不integer。这使得max在第一个函数中未定义。也看看int
  • 你从来没有真正赋予什么max
  • 所有这些println功能,你从来没有定义FlipFlopFlipFlop。据推测他们要么缺少字符串常量,要么只是普通的字符串文字。 (实际上你的情况更糟,FlipFlop是你的函数,所以你通过的功能参考,我敢打赌更多的困惑Java)
  • 触发器的情况下应该先于其他两个。笔和纸应该平凡地解释为什么。
+0

我在println语句上的错误。我只是希望它检查数字是否可以被a和b整除以便打印出翻转或翻转。我收到一个错误,说“FlipFlop.java:29:error:unexpected type } else if(i%a = 0 && i%b = 0){ ^ – Eagles11

0

这里有几个问题,但总体代码非常接近你想要的。

integer max;正在创建一个使用虚幻类型的变量,我相信你想要使用传入的变量Max,它具有大写'M'。请注意区分大小写的变量。通常,非最终变量应以小写字母开头以防止混淆。

如果删除了integer max,改变你的方法的Maxmax它解决了你的一些麻烦,因为现在你没有使用Max值传递的。除非你自己创建了一个名为“integer”的类,否则你不能使用它创建变量。

您不在if语句中检查相等性,您正尝试分配一个值。 '='试图分配一个值,你需要'=='来检查值是否相等。

您应该先移动if语句检查Flip和Flop,因为如果两者都为true,则只会打印“Flip”。

最后,现在什么都不会打印,因为您的引号内没有Flip,Flop或FlipFlop。由于没有名为Flip或Flop的变量或类,因此会出现编译器错误。 System.out.println("Flip");是你想要的。