all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
44
Task/Text-processing-2/Java/text-processing-2.java
Normal file
44
Task/Text-processing-2/Java/text-processing-2.java
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import java.util.*;
|
||||
import java.util.regex.*;
|
||||
import java.io.*;
|
||||
|
||||
public class DataMunging2 {
|
||||
|
||||
public static final Pattern e = Pattern.compile("\\s+");
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
BufferedReader infile = new BufferedReader(new FileReader(args[0]));
|
||||
List<String> duplicates = new ArrayList<String>();
|
||||
Set<String> datestamps = new HashSet<String>(); //for the datestamps
|
||||
|
||||
String eingabe;
|
||||
int all_ok = 0;//all_ok for lines in the given pattern e
|
||||
while ((eingabe = infile.readLine()) != null) {
|
||||
String[] fields = e.split(eingabe); //we tokenize on empty fields
|
||||
if (fields.length != 49) //we expect 49 fields in a record
|
||||
System.out.println("Format not ok!");
|
||||
if (datestamps.add(fields[0])) { //not duplicated
|
||||
int howoften = (fields.length - 1) / 2 ; //number of measurement
|
||||
//devices and values
|
||||
for (int n = 1; Integer.parseInt(fields[2*n]) >= 1; n++) {
|
||||
if (n == howoften) {
|
||||
all_ok++ ;
|
||||
break ;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
duplicates.add(fields[0]); //first field holds datestamp
|
||||
}
|
||||
}
|
||||
infile.close();
|
||||
System.out.println("The following " + duplicates.size() + " datestamps were duplicated:");
|
||||
for (String x : duplicates)
|
||||
System.out.println(x);
|
||||
System.out.println(all_ok + " records were complete and ok!");
|
||||
} catch (IOException e) {
|
||||
System.err.println("Can't open file " + args[0]);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue