代码之家  ›  专栏  ›  技术社区  ›  Mafuj Shikder

如何在数组中传递序列值,然后打印我想要的任何索引值?

  •  -1
  • Mafuj Shikder  · 技术社区  · 7 年前

    //项目:Tribonaci系列

    import java.util.*;
    import java.io.*;
    
    class Tribonacci
    {
        public static void main(String args[])
        {
            Scanner sc = new Scanner(System.in);
            System.out.print("Enter number till u want Tribonacci series: ");
            int n=sc.nextInt();
    
            int a = 0,b = 0,c = 1;
            int d = a+b+c;
    
            System.out.println("\nTribonacci Series: ");
            System.out.print(a+"\t"+b+"\t"+c);
    
            for(int i=4;i<=n;i++)
            {
                System.out.print("\t"+d);
                a=b;
                b=c;
                c=d;
                d=a+b+c;
            }
    
            System.out.println();
        }
    }
    

    Tribonaci系列: 0 0 1 1 2 4 7 13

    现在我想让这个序列值传入数组,然后打印任何我想要的索引值,怎么做?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Pushpesh Kumar Rajwanshi    7 年前

    您可以声明一个列表,并将生成的tribonacci编号保存到该列表中。然后可以通过将索引1传递给n来访问任何tribonaci编号。

    public static void main(String args[]) {
        Scanner sc = null;
        try {
            sc = new Scanner(System.in);
            System.out.print("Enter number till u want Tribonacci series: ");
            int n = sc.nextInt();
    
            int a = 0, b = 0, c = 1;
            int d = a + b + c;
            List<Integer> triboList = new ArrayList<Integer>();
            if(n <= 0) {
                System.out.println("Invalid number. Number must be greater than zero");
                return;
            }
            System.out.println("\nTribonacci Series: ");
            if (n == 1) {
                System.out.print(a);
                triboList.add(a);
            } else if (n == 2) {
                System.out.print(a + "\t" + b);
                triboList.add(a);
                triboList.add(b);
            } else if (n >= 3) {
                triboList.add(a);
                triboList.add(b);
                triboList.add(c);
                System.out.print(a + "\t" + b + "\t" + c);
            }
    
            for (int i = 4; i <= n; i++) {
                System.out.print("\t" + d);
                triboList.add(d);
                a = b;
                b = c;
                c = d;
                d = a + b + c;
            }
            System.out.println();
    
            System.out.println("Enter a number between 1 and " + n + " to print tribonacci number for that index.");
            int index = sc.nextInt();
            if (index < 1 || index > n) {
                System.out.println("Invalid index. Index can only be 1 to " + n);
            } else {
                System.out.println(triboList.get(index - 1));
            }
        } finally {
            if (sc != null) {
                sc.close();
            }
        }
    }