0

我正在开发一个需要 4 行输入的应用程序。第一行包含 N,即迭代次数,接下来的 N 行包含数据。

这是我的程序:

  import java.util.Scanner;

   public class Principal {
static String binary;
static int count = 0;
public static void main (String args [])
{       
    Scanner s = new Scanner(System.in);
    int N = Integer.parseInt(s.next());
    //System.out.println(N);
    int X = 0;
    int cpt=1, test = 1;
    boolean negatif = false;
    boolean test1 = false;
    for (int i =0;i <N; i++)
    {
        X = Integer.parseInt(s.next());
        //System.out.println(s.next());
        while (cpt < 1337)
        {
            if ((cpt % 7 == 0)||(Integer.toString(cpt)).contains("7"))
            {                   
                negatif = !negatif;
            }

            if (negatif == false)
            {
                if (test == 1337)
                    test = 1;
                else
                    test++;
            }
            else
            {
                if (test == 1)
                    test = 1337;
                else
                    test--;
            }

            cpt++;
            if (cpt == X)
            {
                test1 = true;
                break;
            }

        }

        if (test1)
            System.out.println(test);

        test = 1;
        cpt=1;
        negatif = false;
        test1 = false;
    }

}
  }

输入是:

 3
10
100
1000

输出应该是:

 4
 2
1311

问题是我无法到达包含 1000 的最后一行。

请帮忙。

4

0 回答 0