哪位大侠,能帮我写一个JAVA的程序啊,小弟求各位出手相助啊

题目是写一个程序,从文件中读取两个排序的清单,并写入一个新的排序列表到标准输出.能读出来两个文件,再合并到一个里,排好序输出.帮帮忙,小弟感激不尽,加追加分

这么像一个小的ACM试题呢,不过给的信息太少了。
方法一:直接使用TreeSet会自动按照二叉搜索树排好序
Scanner scan1 = new Scanner(new FileInputStream("file1.txt"));// 初始时从小到大排序
Scanner scan2 = new Scanner(new FileInputStream("file2.txt"));// 初始时从小到大排序
TreeSet ts = new TreeSet();// TreeSet自动排好序
double a, b;
while (scan1.hasNext()) {
a = scan1.nextDouble();
ts.add(a);
}
while (scan2.hasNext()) {
b = scan2.nextDouble();
ts.add(b);
}
Iterator it = ts.iterator();
while (it.hasNext())
System.out.println(it.next());
方法二:由于楼主信息太少,默认两文件是从小到大无重复排序,自己想着写的,不对的地方你再改吧,给你个大体思路。
// 由于楼主给的信息太少,本示例程序默认两文件存double类型并从小到大排序并没有重复元素,得到的合并结果去重复
Scanner scan1 = new Scanner(new FileInputStream("file1.txt"));// 初始时从小到大排序
Scanner scan2 = new Scanner(new FileInputStream("file2.txt"));// 初始时从小到大排序
ArrayList al = new ArrayList();
double a, b;
if (scan2.hasNext()) {
b = scan2.nextDouble();
while (scan1.hasNext()) {
a = scan1.nextDouble();
if (a <= b)
al.add(a);
else {
al.add(b);
while (scan2.hasNext()) {
b = scan2.nextDouble();
if (a > b)
al.add(b);
else if (a == b)
;// 忽略重复元素
else
break;

}
}
al.add(a);
}
}
while (scan1.hasNext())
al.add(scan1.nextDouble());
while (scan2.hasNext())
al.add(scan2.nextDouble());
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-05
找个io小demo,自己改吧。很简单的。

哪位大侠,能帮我写一个JAVA的程序啊,小弟求各位出手相助啊
方法一:直接使用TreeSet会自动按照二叉搜索树排好序 Scanner scan1 = new Scanner(new FileInputStream("file1.txt"));\/\/ 初始时从小到大排序 Scanner scan2 = new Scanner(new FileInputStream("file2.txt"));\/\/ 初始时从小到大排序 TreeSet ts = new TreeSet();\/\/ TreeSet自动排好序 d...

谁能帮我做一个java的小程序 不是很复杂的那种 类似调色板那种_百度知 ...
我这里有一个程序,是读文件和用调色板设置背景色的程序,你看看如何。import java.awt.*;import javax.swing.*;import javax.swing.colorchooser.ColorSelectionModel;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import java.io.*;import java.awt.event.*;public clas...

求一非常简单的java 程序?
第一题:import java.util.Scanner;public class CountDate { public static void main(String[] args) { Scanner s = new Scanner(System.in);System.out.println("解放军战士连续作战的小时数:");int hours = s.nextInt();System.out.print("解放军战士连续作战");if(hours <= 0)System....

哪位大侠能用java程序实现下面的题目
+ 1.0\/(allPersons - firstPersons - secondPersons - thirdPersons)- 1;if (Math.abs(captionDrinkedTotal) < 0.00000001) { System.out.print("海盗总数:" + allPersons);System.out.print(" 第一次喝倒人数:" + firstPersons);System.out.print(" 第二次喝倒人数:" + secondPersons...

一个比较简单的java题,麻烦各位大侠帮帮忙,好的追加分
这是以前学JAVA时做过的例子,可直接用 \/ 测试类(包含main方法)\/ public class HelloWorld { public static void main(String[] args){ Dog animal1 = new Dog();Cat animal2 = new Cat();Frog animal3 = new Frog();if(animal1.isMammal())System.out.println("狗是哺乳动物");else S...

JAVA编程题,就JAVA大侠帮忙啊~~~ 1:鸡翁一值钱五,鸡母一值钱三,鸡雏三...
public static void main(String args[]){ for(int i = 0;i<21;i++){\/\/公鸡 for(int j = 0;j<34;j++){\/\/母鸡 int k = 100-j-i;if((i+j+k==100)&&(15*i+9*j+k==300)){\/\/因为int类型的数相除会舍弃余数,\/\/所以1\/3为零,我让他们同时乘以3,没有分数 System.out....

用JAVA语言编写一程序,求100以内的所有素数
public static void prime() { int count = 1;for (int i = 2; i <= 100; i++) { int j;for (j = 2; j < i; j++) { if (i % j == 0)break;} if (j >= i) { System.err.print(i + "\\t");if (count % 5 == 0) { System.err.println();} count++;} ...

哪位大侠指点一下怎么配置JAVA环境,我的系统现在有apache-tomcat-5.5...
classpath=.;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\\bin 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:public class Test{ public static void main(String args[]){ System.out.println("This is a test ...

怎样用JAVA来编写光折射的程式,请各位大侠不吝赐教!小弟感激不尽!
各位大侠不吝赐教? BT种子 BT首先在上传者端把一个档案分成了Z个部分,甲在伺服器随机下载了第N各部分,乙在伺服器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了伺服器端得...

怎么Java实现鼠标点击的五子棋啊 ?各位大侠 帮帮忙
public static void main(String[] args) { frame myFrame =new frame("五子棋");} } class frame extends Frame implements ActionListener{ MenuBar mbar=new MenuBar();Menu mgame=new Menu("选项");Menu mhelp=new Menu("帮助");MenuItem mstart=new MenuItem("开始 ");MenuItem mclose...

相似回答
大家正在搜