cuốn sách gpt4 ai đã làm

android — Truy xuất không chính xác ArrayList của ArrayList

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:08:50 29 4
mua khóa gpt4 Nike

Tôi đang tạo một ArrayList gồm ArrayList của ArrayList và điền nó như sau. Nó điền vào nó một cách chính xác. Tôi đã tìm ra điều này thông qua việc gỡ lỗi và println. Tuy nhiên, khi tôi cố truy xuất các số nguyên này, nó không hoạt động và hiển thị số nguyên cuối cùng trong tệp tôi đọc cho tất cả các giá trị của biến ArrayList.

Dưới đây là mã tôi đã điền và nó hoạt động tốt.

    Scanner sc = new Scanner(new File("e1.txt"));
Dòng máy quétSc;
Chuỗi dòngStr;


Chuỗi lineRegEx = "(\\d+),(\\d+)";
Mẫu linePattern = Pattern.compile(lineRegEx);
máy so khớp;

Đỉnh số nguyên = 0, cạnh = 0, chiều dài = 0;
Chuỗi strE, strL;
ArrayList tmpLE = new ArrayList();
ArrayList<>> singleV = new ArrayList<>>();

sc.useDelimiter("\\n");


int i = 0, j = 0;
while (sc.hasNextLine()) {
lineStr = sc.nextLine();
lineSc = Máy quét mới(lineStr);

lineSc.nextInt();

matcher = linePattern.matcher(lineStr);

trong khi (matcher.find()) {
strE = matcher.group(1);
edge = Integer.parseInt(strE);
tmpLE.add(EI, cạnh);
strL = matcher.group(2);
chiều dài = Integer.parseInt(strL);
tmpLE.add(LI, độ dài);

singleV.add(j,tmpLE);
graph.add(i, singleV);
//System.out.println (graph.get(i).get(j).get(0));
//System.out.println (graph.get(i).get(j).get(1));
++j;
}
j = 0;
++tôi;
lineSc.close();
}
sc.close();

}

Đây là mã tôi đang sử dụng để truy xuất nhưng nó không hoạt động tốt

    vì (int i = 0; i < N; ++i) {
Số nguyên minLen = graph.get(i).get(0).get(LI);
System.out.println (minLen);
Số nguyên được chọnEdge = 0;
for (int j = 0; j < graph.get(i).size(); ++j) {
ArrayList tmpArr = graph.get(i).get(j);
System.out.print(tmpArr.get(LI) + " " + minLen); // Kết quả sai
if (minLen > tmpArr.get(LI))
{
minLen = tmpArr.get(LI);
choosenEdge = graph.get(i).get(j).get(EI);
System.out.println (choosenEdge); // Đầu ra sai
}

}

}

câu trả lời hay nhất

bạn cần tạoDanh sách mảngcho mỗi matcher.find()xe đạp.

 tmpLE = new ArrayList();
strE = matcher.group(1);
edge = Integer.parseInt(strE);
tmpLE.add(EI, cạnh);
strL = matcher.group(2);
chiều dài = Integer.parseInt(strL);
tmpLE.add(LI, độ dài);

singleV.add(j,tmpLE);
graph.add(i, singleV);

Về java - ArrayList của ArrayList không được truy xuất chính xác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11608635/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress