在java

时间:2016-03-19 07:37:45

标签: java arraylist

输入格式 第一行输入由多个测试用例组成,T。

每个测试用例的第一行包括多个恶棍和玩家,N。

每个测试用例的第二行由反派的N空间分隔强度组成。

每个测试用例的第三行由N个空间分隔的玩家能量组成。

3
6
112 243 512 343 90 478 
500 789 234 400 452 150
6
10 20 50 100 500 400 
30 20 60 70 90 490 
5
10 20 30 40 50 
40 50 60 70 80

在这里我想发送球员&在单独的数组中作为函数的参数的恶棍,这里是我的代码,但我得到索引超出绑定的异常 在内部循环时测试用例的数量&恶棍和球员的人数增加

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Collections;
public class Main {

public static void main(String[] args) {
List < Integer > values = new ArrayList < > ();
List < Integer > temp = new ArrayList < > ();
List < Integer > villain = new ArrayList < > ();
List < Integer > player = new ArrayList < > ();


 Scanner scanner = new Scanner(System.in);
 int n = scanner.nextInt();
 while (scanner.hasNext()) {
 values.add(Integer.valueOf(scanner.next()));
  }

  scanner.close();


 int q = 0;
 for (int i = 1; i <= n; i++) {

  for (int counter = q + 1; counter <= ((values.get(q) * 2) + q); counter++) 
 {

    if(counter < values.size())    
    temp.add(values.get(counter));

   if (counter == ((values.get(q) * 2) + q)) {
   for (int j = 0; j < temp.size(); j++) {
   if (j < temp.size() / 2)
   villain.add(temp.get(j));
  else
   player.add(temp.get(j));
 }
 String endresult = empire(villain, player);
 System.out.println(endresult);
 villain.clear();
 player.clear();

 }

   }
 temp.clear();
  q = (2 * values.get(q)) + 1;
  }

}
}

2 个答案:

答案 0 :(得分:0)

您必须在标题重定向后面放置exit;。否则,代码将被解析到最后,任何第二个重定向头或内容输出都将覆盖第一个头重定向。

另外,正如saty指出的那样,如果您要检查它,则必须设置$_SESSION['login']键。顺便说一下,在检查真正的布尔值而不是允许&#34; falsy&#34;时,使用===运算符而不是==总是更好。和&#34;真实&#34;值。

答案 1 :(得分:0)

header("Location: $f");使用exit();强制停止之后,在PHP代码中阅读下面。

希望它会对你有所帮助。