Java 如何使该程序接受n个测试用例?

Java 如何使该程序接受n个测试用例?,java,Java,我一直在练习动态编码,所以这里我想接受n个测试用例,但当我输入多个测试用例时,它只接受一个测试用例。假设我将测试用例的数量输入为2,将玩家和恶棍的数量输入为3,并输入他们的能量,但它只运行一次迭代,程序在下一次迭代中结束。如何让它接受许多测试用例 /* Read input from STDIN. Print your output to STDOUT*/ import java.util.ArrayList; import java.util.Arrays; import java.util

我一直在练习动态编码,所以这里我想接受n个测试用例,但当我输入多个测试用例时,它只接受一个测试用例。假设我将测试用例的数量输入为2,将玩家和恶棍的数量输入为3,并输入他们的能量,但它只运行一次迭代,程序在下一次迭代中结束。如何让它接受许多测试用例

/* Read input from STDIN. Print your output to STDOUT*/

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
class Testcase // Name should be in PASCAL
{
    int N;
    int [] play;
    int [] villain;
    String status;

    public Testcase (int n) { // Constructor
        this.N=n;
        play = new int [N];
        villain=new int [N];
    }

}
public class Main {
    static List<Testcase> caseno=new ArrayList<Testcase>();
    public static void main(String args[] ) throws Exception {
        List<Testcase> caseno=new ArrayList<Testcase>();
        Scanner sc=new Scanner(System.in);
        //int n1=10;
        System.out.println("Enter the number of Test Cases:");
        int n1=sc.nextInt();
        int i,j;
        Testcase t;
        for(i=0;i<n1;i++)
        {
            //int n=6;
            System.out.println("Enter the number of players and villains:");
            int n=sc.nextInt();
            t=new Testcase(n);

            System.out.println(t.N+" "+t.play.length);
            System.out.println("Enter the Player Energies");
            for(i=0;i<n;i++)
            {
                t.play[i]=sc.nextInt();
            }
            System.out.println("Enter the Villain Energies");
            for(i=0;i<n;i++)
            {
                t.villain[i]=sc.nextInt();
            }
            Arrays.sort(t.play);
            Arrays.sort(t.villain);
        }
        for(Testcase t1:caseno)
        {
            for(i=0;i<t1.N;i++)
            {
                System.out.println(t1.villain[i]+" "+t1.play[i]);
            }
            int flag=0;
            for(i=0;i<t1.N;i++)
            {
                if(t1.play[i]<t1.villain[i])
                {
                    flag=0;
                }
                else
                {
                    flag=1;
                    t1.status="LOSS";
                    break;
                }
            }
            if(flag==0)
            {
                t1.status="WON";
            }
            System.out.println(t1.status);

        }



        for (Testcase j1:caseno)
        {
            System.out.println(j1.status);

        }

        //Write code here

    }
}

/*从标准输入读取输入。将输出打印到标准输出*/
导入java.util.ArrayList;
导入java.util.array;
导入java.util.List;
导入java.util.Scanner;
类Testcase//名称应为PASCAL格式
{
int N;
int[]播放;
内特[]恶棍;
字符串状态;
公共测试用例(int n){//构造函数
这个,N=N;
play=新整数[N];
恶棍=新智力[N];
}
}
公共班机{
静态列表caseno=newarraylist();
公共静态void main(字符串args[])引发异常{
List caseno=new ArrayList();
扫描仪sc=新的扫描仪(System.in);
//int n1=10;
System.out.println(“输入测试用例数:”);
int n1=sc.nextInt();
int i,j;
测试用例t;

对于(i=0;i,您案例中的问题是变量的可见性。 我将以简短的方式向您展示这个问题:

int i;
for (i=0; i<2; i++) {        // loop 1
   for (i=0; i<3; i++) {     // loop 2
       // do something
   }
}
inti;
对于(i=0;i
for (int i1=0; i1<2; i1++) {     // loop 1
   for (int i2=0; i2<3; i3++) {  // loop 2
      // do something
   }
}