1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
2、 编写一个Java应用程序,使用Java的输入输出流技术将Input.txt的内容逐行读出,每读出一行就顺序为其添加行号(从1开始,逐行递增),并写入到另一个文本文件Output.txt中。
3、 编写一个Java应用程序,使用RandomAccessFile流统计Hello.txt中的单词,要求如下:
(1)计算全文中共出现了多少个单词(重复的单词只计算一次);
(2)统计出有多少个单词只出现了一次;
(3)统计并显示出每个单词出现的频率,并将这些单词按出现频率高低顺序显示在一个TextArea中。
------解决方案--------------------------------------------------------
第一题:[code=Java]import java.util.Iterator;
import java.util.TreeSet;
public class Amount_Large {
public static void main(String[] args) {
int []a=new int[]{1,3,4,7,2,1,1,5,2};
structure s=find(a);
System.out.println("出现次数:"+s.getCount()+" 该数字是:"+s.getNum());
}
static structure find(int []a){
int []temp=a;
int count=0;
TreeSet t=new TreeSet();
for (int i = 0; i < temp.length; i++) {
t.add(temp[i]);
}
structure s=new structure();
Iterator<Integer>i=t.iterator();
while (i.hasNext()) {
int num= i.next().intValue();
for (int j = 0; j < temp.length; j++) {
if (num==temp[j]) {
count++;
}
}
if(count>s.getCount()){
s.setCount(count);
s.setNum(num);
}
count=0;
}
return s;
}
}
class structure{
int count;
int num;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
code]
------解决方案--------------------------------------------------------
第一题
- Java code
private static Map map = new HashMap(); private static void init(Object obj) { if (map.containsKey(obj)) { int i = (Integer) map.get(obj); i++; map.put(obj, i); } else { map.put(obj, 1); } } public static void main(String[] args) { int[] count = { 1, 2, 3, 1, 2, 1, 2, 3, 2, 1, 2 }; for (int i = 0; i < count.length; i++) { init(count[i]); } System.out.println(map);//{2=5, 1=4, 3=2} }