1、某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资,并按照邮资从小到大顺序显示。(20分) 
2、采用Java多线程技术编写程序,其中包括两个线程:A和B,其中A线程准备休眠一小时,B线程每隔一秒输入3句“起床”后,吵醒休眠的线程A。(25分)
3、利用Java的GUI编程,编写一个窗体,包含两个文本框和一个命令按钮。其中一个文本框接收用户输入的一行字符串,回车后在另一个文本框中重复输出三行,单击命令按钮可清空两个文本框的所有内容。(25分)
4、编写一个Java应用程序,运行后,首先列出当前工作目录,然后把当前目录下面的所有后缀为java的文件取出(设置一个过滤器进行文件名后缀的过滤)。(30分)附加题:
5、这个题目因为是图片的,这会给忘记了不好意思
6、访问Access 2003数据库,在Access数据库中创建学生表(T_Student)表并配置ODBC驱动源,学生表的结构和示例数据如下所示:表中有:ID, Name, Subject(科目), Results(成绩)
表中有几条数据(复制的时候比较急,没注意直接丢记事本来了,数据就不写了)使用Java语言编写程序,要求如下:1)使用JDBC-ODBC桥驱动程序;2)查询出表中所有记录,并按照主键升序显示。参考提示代码:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:student","","");(30分)很惭愧写得不好,第二题忘记怎么唤醒了。写了报个错。代码就不贴了。1.
public class T1 {
public static void main(String[] args) {
int three = 5, five = 4;
int sum = 0;
String s = ""; //计算出有几种邮资
for (int i = 1; i < 6; i ++) {
for (int j = 1;j < 5; j ++) {
sum = 5*i + 4*j;
s = s + sum + " ";
}
}

String[] sSum = s.split(" ");
int[] iSum = new int[sSum.length];

for (int i = 0; i < sSum.length; i ++) {
iSum[i] = Integer.valueOf(sSum[i]);
}

//进行排序
int k = 0;
int j = 0;
for (int i = 0; i < iSum.length; i ++) {
j = i + 1;
for (; j < iSum.length; j ++) {
if (iSum[i] > iSum[j]) {
k = iSum[i];
iSum[i] = iSum[j];
iSum[j] = k;
}
}
}

System.out.println("一共有" + iSum.length + "种不同的邮资:");

for (int i = 0; i < sSum.length; i ++) {
System.out.println(iSum[i]);
}
}

}
3.
import java.io.*;
import javax.swing.*;import org.omg.PortableServer.POAPackage.AdapterAlreadyExists;import java.awt.*;
import java.awt.event.*;public class T3 extends JFrame{

public static final int WIDTH = 400, HEIGHT = 300;

JTextField jField1 = new JTextField();
JTextField jField2 = new JTextField();
JButton jButton = new JButton("清空");

public static void main(String[] args) {
T3 t3 = new T3();
t3.launchJFrame();

}

public void launchJFrame() {
this.setBounds(150, 100, this.WIDTH, this.HEIGHT);
this.setLayout(new GridLayout(3, 1));

this.getContentPane().add(jField1); 
jField1.addKeyListener(new EnterMimoter());

this.getContentPane().add(jField2);

this.getContentPane().add(jButton);
jButton.addMouseListener(new MouseMimoter());

this.setVisible(true);
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private class EnterMimoter extends KeyAdapter { @Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == e.VK_ENTER) {
String s1 = jField1.getText();
String s2 = "";
for (int i = 0; i < 3; i ++) {
s2 = s2 + "\n" + s1;
}
jField2.setText(s2);
}
}

}

private class MouseMimoter extends MouseAdapter { @Override
public void mouseReleased(MouseEvent e) {
jField1.setText("");
jField2.setText("");
}
}}
4.
import java.io.*;public class T4 {

public static void main(String[] args) {
File f = new File("T4.java");
String s = f.getAbsolutePath();
String sFile = s.substring(0, s.length() - f.toString().length());

System.out.print("当前的工作目录是:");
System.out.println(sFile);

tree(new File(sFile));
}

public static void tree(File f) {

File[] files = f.listFiles();

FileFil fFil = new FileFil();

System.out.println("\n此目录下所有java文件:");

for(int i = 0; i < files.length; i++) {
if (fFil.accept(files[i]))
System.out.println(files[i].getName());
}

}

}class FileFil implements FileFilter {

public boolean accept(File pathname) {
String file = pathname.toString();

if (file.endsWith(".java")) 
return true;

return false;
}
}
6.
import java.sql.*;public class T6 { public static void main(String[] args) {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:student", "", "");
Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("select * from student");

while (rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
System.out.println(rs.getString(4));
}

} catch (ClassNotFoundException e) {

e.printStackTrace();
}catch (SQLException e) {

e.printStackTrace();
}
}}

解决方案 »

  1.   

    题目挺简单的..不过挺惭愧..我也没考好..
    这个真得怪自己..没放在心上...
    呵呵..
    第一题..直接一个用boolean hash[36]的hash就可以.
    第二题..唤醒那个是个i开头的..跟那个异常名字差不多的..我也忘了..其实要找下也能找的到..写了个y什么什么的..我就飘走了..
    第三题..我理解的不一样。.虽然也对了..我的理解是左边可以一直输入,每次输入的东西右边都出输出三遍..
    第四题..跟你一样..不说了..
    第五题..是让用stack写一个An=2An-1+2An-2,a1=3,a2=8...华丽的54掉吧..
    第六题..select * from student order by....题目说了,按主键升序..虽然题目中给的例子就是升序的..但在测试中很可能给随便排列的数据..总之- -题目真的简单的够华丽的...虽然我真的考的不好...orz..
      

  2.   

    哎 !我也感觉没有做好 ! 第一题,我做的有问题 我的排序是12种 ,第二题唤醒的方法,不对 了。第三题,我做的监听几个方法,没有调试出来。第四题,我把目录固定了。用File file=new File("c:\\workspace");这样做,其他的一样,我不知道这样对不对,感觉好像也对。 第5题,堆栈就连一些方法也不会用没办法 放弃!,第六题,调试老出现问题。。 更楼上做的差不多,没有调试出来。。呜呼 。完全考砸!!!! 不知道有没有辛苦分。  
      

  3.   

    第一题按照题意应该是这样的
    public class Test{
         public static void main(String agrs[]){
          
         int count =0; 
         String s="";
          for(int i=0;i<6;i++){
            for(int j=0;j<5;j++){
            count=3*i+5*j;
           s+=count+" ";
            }
          }
          String[] test=s.split(" ");
          System.out.println(test.length-1+"种邮资");
          
          
          int[] number=new int[test.length];
             for(int i=0;i<test.length;i++){
             number[i]=Integer.valueOf(test[i]); 
             }
             
             for(int i=0;i<number.length;i++){
              
              for(int j=i+1;j<number.length;j++){
              
              if(number[i]>number[j]){
              int temp=number[i];
              number[i]=number[j];
              number[j]=temp;
              }
              }
             }
             
             for(int i=1;i<number.length;i++){
            
              System.out.println(number[i]);
             
              }
         }
    }
      

  4.   

    第一题为什么都不会想到用TreeSet呢?就不需要排序了啊。package cn.com.ylchen.javaknowledge.scjp;import java.util.Iterator;
    import java.util.Set;
    import java.util.TreeSet;public class JustDoIt { /**
     * @param args
     */

    public static void main(String[] args) {
    int i1=3,i2=5;
    Set<Integer> list=new TreeSet<Integer>();
    int number1=5,number2=4;
    for(int i=0;i<=number1;i++)
    for(int j=0;j<=number2;j++){
    int sum=0;
    sum+=i1*i+i2*j;
    list.add(sum);
    }
    Iterator<Integer> it=list.iterator();
    while(it.hasNext())
    System.out.println(it.next());
    }}
      

  5.   

    第二题:package cn.com.ylchen.javaknowledge.thread;class A extends Thread {
    public void run() {
    while (true) {
    try {
    Thread.sleep(1000 * 60 * 60);
    } catch (InterruptedException e) {
    // TODO: handle exception
    System.out.println("别吵我,我操你妹");
    }
    }
    }
    }public class WakeUpThread { /**
     * @param args
     */ public static final Thread a = new A(); public static void main(String[] args) {
    Thread b = new Thread("wark up") {
    public void run() {
    while (true) {
    try {
    Thread.sleep(1000);
    for (int i = 0; i < 3; i++)
    System.out.println("起床");
    synchronized (a) {
    a.interrupt();
    }
    } catch (InterruptedException e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    } }
    };
    a.start();
    b.start();
    }}
      

  6.   

    第一题
    public class T1{ 
        @SuppressWarnings("unchecked")
    public static void main(String agrs[]){ 
        
        int count =0; 
        Set set=new TreeSet();
        
        for(int i=0;i <6;i++){ 
          for(int j=0;j <5;j++){ 
           count=3*i+5*j;
           set.add(count);
          } 
        } 
        set.remove(0);
        System.out.println(set.size()+"种邮资"); 
            System.out.println(set);  
        } 
    }
      

  7.   

    第一题:package com.string;import java.util.Collection;
    import java.util.Iterator;
    import java.util.TreeSet;public class TestSet { /**
     * @param args
     */
    public static void main(String[] args) throws Exception { Stamp stamp1 = new Stamp(3,5);

    Stamp stamp2 = new Stamp(5,4);

    Collection collection_1 = stamp1.selfMult();

    Collection collection_2 = stamp2.selfMult();

    Collection collection_3 = stamp1.mutualMult(stamp2);

    Collection collection = new TreeSet();

    collection.addAll(collection_1);
    collection.addAll(collection_2);
    collection.addAll(collection_3);
    Iterator iterator = collection.iterator();
    while (iterator.hasNext()) {
    System.out.println(iterator.next());

    } }}
    class Stamp{
    private int value =0;

    private int amount = 0 ;

    public Stamp(int value,int amount){
    this.value = value;

    this.amount = amount;
    }
    //全部取一种面额的邮票
    public Collection selfMult(){

    int sum = 0;
    Collection collection = new TreeSet();

    for(int i=1;i<=amount;i++){
    sum = i*value;
    collection.add(new Integer(sum));
    }

    return collection;
    }
    //取两种面额的邮票
    public Collection mutualMult(Stamp stamp){

    Collection collection = new TreeSet();

    int sum;

    if(stamp.value==this.value){
    for(int i=1;i<=this.amount+stamp.amount;i++){
    sum = i*value;
    collection.add(new Integer(sum));
    }
    }else if(stamp.value!=this.value)
    {
    for(int i = 0 ;i<=this.amount;i++)
    {
    for(int j=0;j<=stamp.amount;j++)
    {
    sum = i*this.value + j*stamp.value;
    //System.out.println(sum);
    collection.add(new Integer(sum));
    }
    }
    }

    return collection;

    }
    }
      

  8.   

    第一题
     int i1=3,i2=5;
            Set<Integer> list=new TreeSet<Integer>();
            int number1=5,number2=4;
            for(int i=0;i<=number1;i++)
                for(int j=0;j<=number2;j++){
                    int sum=0;
                    sum+=i1*i+i2*j;
                    list.add(sum);
                }
            Iterator<Integer> it=list.iterator();
            while(it.hasNext())
                System.out.println(it.next());
        }
      

  9.   

    上面验证第一题了  呼呼 自己的没沾
    import java.util.Iterator;
    import java.util.TreeSet;
    public class Itat1_1 {
    /*
     * 1、某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资,
     * 并按照邮资从小到大顺序显示。(20分)  
     */
    static int[] san = {3,3,3,3,3,5,5,5,5};
    public static void main(String[] args) {
    TreeSet h = new TreeSet();
    int num=0;
    for(int i=0;i<9;i++){
    for(int j=i;j<9;j++){
    num = san[j]+num;
    h.add(num);
    }
    num=0;
    }
    Iterator g = h.iterator();
    while(g.hasNext())
    System.out.println(g.next());
    }}
      

  10.   

    调试通过,用ArrayList
    package programming;import java.util.ArrayList;public class PostageCount {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList<Integer> list=new ArrayList<Integer>();
    for(int i=0;i<=5;i++)
    for(int j=0;j<=4;j++)
    {
    if(i==0&&j==0)
    continue;
    Integer Postage=i*3+j*5;
    if(!list.contains(new Integer(Postage)))
    list.add(Postage);
    }
    System.out.println("可以得到"+list.size()+"种不同的邮资:");
            for(int i=0;i<list.size();i++)
             for(int j=i+1;j<list.size();j++)
             {
             Integer list_i=list.get(i);
             Integer list_j=list.get(j);
             if(list_i>list_j)
             {
             list.set(i, list_j);
             list.set(j, list_i);
             }
             }
            for(int i=0;i<list.size();i++)
             System.out.println(list.get(i));
    }}
      

  11.   

    package programming;public class ThreadComm {
     
    private static ThreadA ta;
        public ThreadComm()
        {
        }
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    new ThreadComm().new ThreadB().start();
    ta.start();
            
    }

    class ThreadA extends Thread
    {
    public void run()
    {
    try {
    Thread.sleep(3600000);
    } catch (InterruptedException e) {
    System.out.println("起来了。。");
    }
    }
    }

    class ThreadB extends Thread
    {
    public void run(){
    try {
    while(true){

    Thread.sleep(1000);
    for(int i=0;i<3;i++)
    System.out.print("起床    ");

    synchronized(ta){
    ta.interrupted();}

    }} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }}
    }
    帮忙看下我的为什么不行了呢,咱俩的有什么区别,你的可以。
      

  12.   

    第一题3楼做的结果应该会有重复,我觉得用TreeSet来做比较合适!