0
내가 그것을 사용할 때 그래서 내가 지금 항목의 지정된 수 공용 클래스 SetMenu0 {data.put는() 경우 IndexOutOfBoundsException를 throw
private double price;
private int size;
private String output;
private String priceOutput;
ArrayList orderList = new ArrayList<String>();
ArrayList priceList = new ArrayList<Double>();
public SetMenu0()
{
Scanner input = new Scanner(System.in);
System.out.print("Enter New Order?(Y)(N): ");
String init = input.nextLine();
if(init.equalsIgnoreCase("y"))
{
System.out.print("Enter Number of Orders: ");
size = input.nextInt();
for(int i = 0; i<=size; i++)
{
i++;
System.out.print("Enter Order: ");
orderList.add(input.next());
System.out.print("Enter Price: ");
priceList.add(input.nextDouble());
}
}
}
public ArrayList getOrd()
{
return orderList;
}
public ArrayList getPri()
{
return priceList;
}
public int getSize()
{
return size;
}
}
에 대한 입력이 코드를 주문하고 가격이 TreeMap을 사용하면 여기에 indexOutOfBoundsException이 발생합니다. public static void main (String [] args) { // 빈 통합 문서 XSSFWorkbook 통합 문서 = 새 XSSFWorkbook();
//create blank sheet
XSSFSheet sheet = workbook.createSheet("Food");
SetMenu0 set = new SetMenu0();
ArrayList orderList = set.getOrd();
ArrayList priceList = set.getPri();
int size = orderList.size();
Map<String, Object[]> data = new TreeMap<String, Object[]>();
data.put("1", new Object[]{"Order", "Price"});
try{
for(int i=0; i<size; i++)
{
int in = i+2;
String lineNum = ""+in;
data.put(lineNum, new Object[]{orderList.get(i), priceList.get(i)});
}
}
catch(IndexOutOfBoundsException e)
{
System.out.print("problem");
}
크기를 3 이상으로 설정하면 예외가 발생합니다.
하하하. 정말 고마워. 그건 잠시 동안 나를 괴롭혔다. 그래서 어리 석다. – user3752231