① java中怎樣處理二維數組中的每一行每一列
讀入後,直接用String.charAt() 來統計-符號,符合則不寫入另一個文件、否則寫入另一個文件中。
② java 找到二維數組指定元素的位置
Scanner sn=new Scanner(new File(path)).useDelimiter("\r\n"); 這行代碼的意思應該是指定分割符為「/r/n」吧,這個/r/n不一定是換行,用這個分割的數組元素全了空值,換個成這樣吧
Scanner sn=new Scanner(new File(path)).useDelimiter([\\s]");
這樣表示用空字元分割
還有find方法里的這行代碼
if (ss[i][j].equals(str))
因ss[i][j]的值可能是空的,直接調用equals的話可能報空指針異常
所以equals前加個if 判斷一下,如果是空就不用equals了
這是我改的代碼
package com.jhc.cglib.test;
import java.util.*;
import java.io.*;
public class ReaderFile {
public static void main(String[] args) {
ReaderFile rf = new ReaderFile();
String ss[][] = rf.getArray("C:/Users/Administrator/Desktop/111.txt");// 文件路徑
System.out.println(find(ss, "價位"));
}
public static int find(String[][] ss, String str) {
if(ss==null||ss.length==0)
return -1;
boolean flag = false;
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
if(ss[i][j]==null)
continue;
if (ss[i][j].equals(str)) {
flag = true;
System.out.print(i + 1 + "\t");
System.out.println(j + 1);
}
}
}
if (flag == false) {
return -1;
}
return -1;
}
public String[][] getArray(String path) {
String[][] x = new String[15][15];
try {
Scanner sn = new Scanner(new File(path)).useDelimiter("[\\s]");
int i = 0;
while (sn.hasNextLine()) {
String[] ss = sn.next().split(" ");
System.out.println(Arrays.toString(ss));
for (int j = 0; j < ss.length; j++) {
x[i][j] = ss[j];
}
++i;
}
} catch (Exception e) {
e.printStackTrace();
}
return x;
}
}
③ java怎樣獲取二維數組
你是獲取數組還是數組裡面的值呢??
你要獲取值就用 XX[?][?]問號是數字就可以訪問到裡面了值了.
④ java 如何獲取一個2維數組的長和寬
如一定義二維數組array[][],則獲得該數組的長度(即行數)的代碼為array.length,對於每一行的寬度內可以循環獲得容,如獲得第i行的寬度(i的范圍是0~array.length-1)的代碼為array[i].length。
其他維數組獲得長度信息依次類推。