java第十次作业
2013-05-20 13:34
375 查看
1.数据挖掘:关联规则 (老师的提供.class
反编译后的源码)
import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class Main { public static void apriori(int paramInt, String[][] paramArrayOfString) { String str; Object localObject; TreeMap<String,Object> localTreeMap = new TreeMap<String,Object>(); for (int i = 0; i < paramArrayOfString.length; ++i) for (int j = 0; j < paramArrayOfString[i].length; ++j) { str = paramArrayOfString[i][j]; localObject = (Integer) localTreeMap.get(str); localTreeMap.put(str, Integer.valueOf((localObject == null) ? 1 : ((Integer) localObject).intValue() + 1)); } ArrayList<String> localArrayList = new ArrayList<String>(); for (Iterator<String> localIterator = localTreeMap.keySet().iterator(); localIterator.hasNext();) { str = localIterator.next(); if (((Integer) localTreeMap.get(str)).intValue() >= paramInt) localArrayList.add(str); } for (int k = 0; k < localArrayList.size(); ++k) for (int l = k + 1; l < localArrayList.size(); ++l) { Set<String> localSet = new HashSet<String>(); localSet.add(localArrayList.get(k)); localSet.add(localArrayList.get(l)); int i1 = getSupport(localSet, paramArrayOfString); if (i1 >= paramInt) StdOut.printf("%s,%s:%d\n", new Object[] { localArrayList.get(k), localArrayList.get(l), Integer.valueOf(i1) }); } } public static int getSupport(Set<String> paramSet, java.lang.String[][] paramArrayOfString) { int i = 0; for (int j = 0; j < paramArrayOfString.length; ++j) { int k = 1; for (Iterator<String> localIterator = paramSet.iterator(); localIterator.hasNext();) { String str = localIterator.next(); int l = 0; for (int i1 = 0; i1 < paramArrayOfString[j].length; ++i1) if (str.equals(paramArrayOfString[j][i1])) { l = 1; break; } if (l == 0) { k = 0; break; } } if (k != 0) ++i; } return i; } public static void main(java.lang.String[] paramArrayOfString) throws Exception { int i = StdIn.readInt(); int j = StdIn.readInt(); StdIn.readLine(); String[][] arrayOfString = new String[j][]; for (int k = 0; k < j; ++k) { String str = StdIn.readLine(); arrayOfString[k] = str.split(","); } apriori(i, arrayOfString); } }
2.元素与元素周期表 (老师的提供.class
反编译后的源码)
import java.util.HashMap; public class Main { public static void main(String[] args) throws Exception { HashMap<String, Object> localHashMap = new HashMap<String, Object>(); String str1 = StdIn.readLine(); while (true) { while (true) { if (StdIn.isEmpty()) return; str1 = StdIn.readLine(); if (str1.charAt(0) == '#') break; String[] arrayOfString = str1.split(","); String str2 = arrayOfString[0]; String localObject = arrayOfString[1]; int i = Integer.parseInt(arrayOfString[2]); String str3 = arrayOfString[3]; double d = Double.parseDouble(arrayOfString[4]); Element localElement = new Element(str2, localObject, i, str3, d); localHashMap.put(str3, localElement); } String[] arrayOfString = str1.split(","); String str2 = arrayOfString[0].substring(1); Object localObject = (Element) localHashMap.get(str2); StdOut.println(localObject); } } } class Element { private String cname; private String ename; private int number; private String symbol; private double weight; public Element(String paramString1, String paramString2, int paramInt, String paramString3, double paramDouble) { this.cname = paramString1; this.ename = paramString2; this.number = paramInt; this.symbol = paramString3; this.weight = paramDouble; } public String toString() { String str = ""; str = str + this.cname + " " + this.ename + " (" + this.symbol + ") "; str = str + this.number + " " + this.weight; return str; } }
3.齐普夫(Zipf)定律 (老师的提供.class
反编译后的源码)
import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { String str = StdIn.readAll(); str = str.toLowerCase(); str = str.replaceAll("[\\d\",!.:;?()`'*-]", ""); String[] arrayOfString = str.split("\\s+"); Arrays.sort(arrayOfString); Counter[] arrayOfCounter = new Counter[arrayOfString.length]; int i = 0; for (int j = 0; j < arrayOfString.length; ++j) { if ((j == 0) || (!(arrayOfString[j].equals(arrayOfString[(j - 1)])))) arrayOfCounter[(i++)] = new Counter(arrayOfString[j], arrayOfString.length); arrayOfCounter[(i - 1)].increment(); } Arrays.sort(arrayOfCounter, 0, i); for (int j = i - 1; j >= Math.max(i - 10, 0); --j) StdOut.println(arrayOfCounter[j]); } } class Counter implements Comparable<Counter> { private final String name; private final int maxCount; private int count; public Counter(String paramString, int paramInt) { this.name = paramString; this.maxCount = paramInt; this.count = 0; } public void increment() { if (this.count < this.maxCount) this.count += 1; } public int value() { return this.count; } public String toString() { return this.name + ":" + this.count; } public int compareTo(Counter paramCounter) { if (this.count < paramCounter.count) return -1; if (this.count > paramCounter.count) return 1; return 0; } }
相关文章推荐
- 吉软_Java57_第十次作业
- 吉软_java57_第十次作业
- JAVA 第十次作业
- java-java57-第十次作业
- Java第十次作业
- Java第十次作业--多线程
- java第十次作业:oop的第6张图片到第11张图片
- java王建民老师查作业,请先戳这里!!!
- 第四次JAVA作业
- JAVA作业和课后习题解答1
- java第二次作业
- java,作业水果,运用类的静态和重载
- 一次作业题目-----话单计费(Java)
- java作业:根据编号输出课程名称(仅记录思路)
- 9.27第五周java作业
- 吉软_java57_第十五次作业
- Java57_孙明明_Java_作业1111
- Java作业-窗口菜单
- JAVA课程作业3-生成52张扑克,模拟扑克牌洗牌
- 吉软-Java57-第一次作业