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