Zitat von
Peregrin_Tooc
PHP-Code:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.HashMap;
//How many triangle words does the list of common English words contain?
public class Prb042_sltn {
/**
* @param args
*/
public static void main(String[] args) {
HashMap<Integer, Integer> trianglenumbers = new HashMap<Integer, Integer>();
String str = "", line="";
try {
BufferedReader input = new BufferedReader(new FileReader("bin/words.txt"));
line = input.readLine();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] words = line.split("\",\"");
words[0]=words[0].substring(1);
int count = 0, n=0 ;
for(int k=1; k <= n; k++){ // Die Schleife tut nichts, da n = 0 und k = 1 und damit direkt k > n.
trianglenumbers.put(k, k*(k+1)/2);
}
for(int k=0; k < words.length; k++){
int value = StringCharMethods.wordvalue(words[k]);
while(n*(n+1)/2 <= value){
trianglenumbers.put(n, n*(n+1)/2);
n++;
}
if(trianglenumbers.containsValue(value)){
count++;
//System.out.println(words[k]+" is the "+count+". triangle word and it's value is "+value);
}
}
System.out.print(count);
}
}
Siehe Kommentar. Ansonsten selbst mehr kommentieren, wenn du Code an andere weiter gibts, sonst ist das etwas schwer verständlich.