ID Number
ssk , 0
ssk , 999999
ssk , 0
oit , 999999
dnp , 54
dnp , 2
dnp , 999999
上記は、私が読んでいるcsvファイルの短縮版の例です。私の意図は、指定された行に0があるかどうかを確認することです。その場合は、IDのすべての外観を空のStringに置き換えます。同様に、最小値のIDは0でなくても保持します。現在のプログラムを変更して、出力を得る方法を教えてください。私はあらゆる解決策に開放されており、私は雇用の場でこれを何時間も働いています。ありがとうございました。2次元配列の複数の値を検索して置換するJava
は
ID Number
, 0
, 999999
, 0
oit , 999999
, 54
dnp , 2
, 999999
私の現在のプログラムは以下の通りです出力を望んでいた。=============================== =====================
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
public class ImapSync{
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("Sync report.csv");
Scanner sc = new Scanner(fr);
String[][] array = new String [101000][2];
int i = 0;
while(sc.hasNext()){
String line = sc.nextLine();
String field[] = line.split(",");
// System.out.println(field[5]);
for(int j = 0; j < 2; j++){
// System.out.println(field[5] + " " + i);
array[i][j] = field[j];
}
i++;
}
sc.close();
Commands c = new Commands(array);
c.changeArrayValues();
// c.print();
c.arrayToFile();
}
}
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Array;
import java.util.Arrays;
public class Commands {
private String array[][];
public Commands(String array[][]){
this.array= array;
}
public void print(){
for(int i = 0; i < array.length; i++){
for(int j = 0; j < 2; j++){
if(j == 0)
System.out.printf("%-70s " , array[i][j]);
else
System.out.printf("%-20s ", array[i][j]);
}
System.out.println();
}
}
public void arrayToFile() throws IOException{
File f = new File("C:/Users/abc.csv");
PrintWriter p = new PrintWriter(f);
for(int i = 0; i < 100981; i++){
for(int j = 0; j < 2; j++){
p.print(array[i][j] + ",");
}
p.println();
}
p.close();
}
public void changeArrayValues(){
int arrayPosition = 0;
while(arrayPosition < 100981){
if(Integer.parseInt(array[arrayPosition][1]) == 0){
String userID = array[arrayPosition][0];
for(int i = 0; i < 100981; i++){
if(array[i][0] == userID){
array[arrayPosition][0] = "";
}
}
}
arrayPosition++;
}
}
}
そして、あなたの質問は... –