2016-08-19 33 views
0

フィボナッチ数をJavaで生成する初心者の質問があります。このJavaプログラムでフィボナッチ数の代わりに文字列を印刷する

、方法はBeginIndexからLastIndexにFibonnacci番号の配列を印刷する必要があり、そう数が5の倍数である場合には(番号の代わりに)"Hi"を印刷する必要があり、数が7の倍数である場合"I am"を印刷します数値が35の倍数であれば"Hi I am me"を印刷します。これを行う方法はわかりません。

class FibonacciClass { 
    public static void main(String args[]) throws Exception { 

     generatefibonacci(10, 20); 
     generatefibonacci(0, 1); 


    } 


     private static void generatefibonacci(int BeginIndex, int LastIndex) { 



     } 

答えて

1

別の可能性を持っている:

private static void generateFibonacci(int beginIndex, int lastIndex) { 

    int len = lastIndex + 1; 
    int[] fib = new int[len]; 
    fib[0] = 0; 
    fib[1] = 1; 

    // Building Fibonacci sequence from beginIndex through lastIndex 
    for (int i = 2; i < len; ++i) 
     fib[i] = fib[i-1] + fib[i-2]; 

    // Printing 
    for (int index = beginIndex; index <= lastIndex; ++index) { 

     if ((fib[index] % 5 == 0) && (fib[index] % 7 == 0)) { 
      System.out.println("Hi I am me"); 
     } 
     else if (fib[index] % 5 == 0) { 
      System.out.println("Hi"); 
     } 
     else if (fib[index] % 7 == 0) { 
      System.out.println("I am"); 
     } 
     else { 
      System.out.println(fib[index]); 
     } 
    } 
} 
+0

私はあなたが '場合(FIB [インデックス]%5 == 0)'の代わりに、インデックスの場合をテストするべきだと思います。また、7と5の両方をテストするのではなく、最初のケース 'if(fib [index]%35 == 0)'をテストすることもできます。 – Orin

+0

はいあなたの投稿を修正します。フィボナッチ数が5または7で割り切れるかどうかを知りたいと思います。インデックスが5または7で割り切れる場合ではなく、私の前提です。そうでなければあなたの答えはよさそうです。 – Orin

+0

コードが修正されました! – tnas

0

あなたが探しているのはモジュラス演算子%です。オペランドで除算の残りの部分を返します。したがって、if(x%5 == 0 & & x%7 == 0)から真の値を受け取ると、xが5と7の倍数になります。このケースが合格しない場合は、else if文xが5の倍数であるかどうかを個別にチェックし、xが7の倍数であるかどうかを確認するために、System.out.println( "xはyの倍数である)

0

毎回generatefibonacciは、モジュロ(%)でチェックする必要があります。このよう

private static generatefibonnacci(int startIndex, int endIndex){ 
int result = -1; 
//do generating stuff 
//and set "result" to generated fibonacci 
//and then 
if(result%5==0){ 
    System.out.println("Hi"); 
} else if(result%7==0){ 
    System.out.println("Hi I am me!"); 
} //and so on 

だから、これはほんの少しの例です。 は楽しい

0
private static void generatefibonacci(int BeginIndex, int LastIndex) { 
    int[] numbers = new int[LastIndex + 2]; //creates an array to put fibonacci numbers in 
    numbers[0] = 1; numbers[1] = 1; 
    for(int i = 2; i <= LastIndex; i ++){ 
     numbers[i] = numbers[i - 1] + numbers[i - 2]; //generates the Fibonacci Sequence 
    } 
    for(int i = BeginIndex; i <= LastIndex; i ++){ 
     if(numbers[i] % 5 == 0 && numbers[i] % 7 == 0){//if the remainder when the numbers/5 equals 0 and the remainder when the numbers/7 equals 0 
      System.out.println("Hello I am me"); 
     } 
     else if(numbers[i] % 5 == 0){ //if the remainder when the numbers/5 equals 0 
      System.out.println("I am"); 
     } 
     else if(numbers[i] % 7 == 0){ //if the remainder when the numbers/7 equals 0 
      System.out.println("Hi"); 
     } 
     else{ //if none of the above three conditions are true 
      System.out.println(numbers[i]); 
     } 
    } 

} 
関連する問題