public class Test {
public static final String mutex = "XXXXXXXXX";
private static int money = 1000;
public static void main(String[] args) {
Thread t1 = new Thread(new myThread("A"));
Thread t2 = new Thread(new myThread("B"));
t1start();
t2start();
}
public static class myThread implements Runnable {
private String people;
private int index = 0;
private int total = 0;
public myThread(String people) {
thispeople = people;
}
@Override
public void run() {
while(true) {
synchronized (mutex) {
if(money >= 0) {
int a=(int)(Mathrandom()1000+100)/100100;
if(money < a ) {
Systemoutprintln("余额不足");
break;
}
money -= a;
total += a;
index++;
Systemoutprintln(people + "第" + index + "次取" + a + "元, 总共取了" + total);
}else {
break;
}
}
try {
Threadsleep(1000);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
eprintStackTrace();
}
}
}
}
}
Java是一个很好的面向对象语言,这是08年的试题。你可以在网上下更全套的试题练习。
全国2008年10月考试Java 语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下述字符组合不能作为Java程序标识符的是( )
A.Aa12 B.大x
C.y小 D.5x
2.以下程序代码的输出的结果是( )
int x=53;
System out println(10+x/2);
A.270 B.275
C.1026 D.10265
3.参照以下Java代码,以下四个叙述中最确切的是( )
class A{
int x; static int y;
void fac(String s){Syatem out println(”字符串:”+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java util包中的类是
( )
A.String B.StringBuffer
C.StringTokenizer D.stringTokenizer
5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是( )
A.JFrame(s) B.window(s)
C.new JFrame(s) D.super(s)
6.以下关于菜单的叙述中,正确的是( )
A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项
B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项
C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项
D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项
7.以下所述内容全部是字型要素的是( )
A.字体、字形和大小 B.字体、风格和字号
C.字形、风格和字号 D.字形、颜色和字号
8.用Thread子类实现多线程的步骤顺序是( )
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start()方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法
9.为16位Unicode字符流提供读和写 *** 作支持的类分别是( )
A.FileInputStream类和FileOutputStream类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.能利用对象提供的方法获得流对象和实现网络连接的是( )
A.URLConnection对象 B.URL对象
C.InetAddress对象 D.TCP/IP对象
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11一个小应用程序必须定义成一个_________。
12用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。
13类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。
14设有数组a和b的定义如下:
int[]a={1,2,3};int[]b={4,5,6}
……
执行以下代码“a=b;”,除了完成赋值 *** 作之外,引起系统额外要做的工作是_________。
15 _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
16Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。
17某个绘图方法设置成“异或模式”绘图,并用**作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。
18程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。
19BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter对象。
20在Java语言中,客户端使用的套接字类是_________。
三、简答题(本大题共6小题,每小题3分,共18分)
21请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
22如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。
Person p1=new Student();
Person p2=new Undergraduate();
Student s1=new Person();
Student s2=new Undergraduate();
Undergraduate ug1=new Person();
Undergraduate ug2=new Student();
Object ob=new Student();
23请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。
24请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。
25某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。
26JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。
四、程序填空题(本大题共5小题,每空2分,共20分)
27方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。
static int maxDigit(int n){
int c=0,d;
while(n>0){
d=_______;
if(d>c) c=d;
n/=10;
}
________;
}
28某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。
public void actionPerformed(ActionEvent e){
int sum;
if(egetSource()==button){
String s=text1________;//获取text1中的信息
StringTokenizer fenxi=new StringTokenizer(s,”,,,\n”);
int n=fenxicountTokens();
double a[]=new double[n];
for(int i=0;i<n;i++){
String temp=fenxinextToken();
a[i]=DoublevalueOf(temp)doubleValue();
}
sum=0;
for(int i=0;i<n;i++){
__________;
}
text2setText(””+sum);//刷新显示。
}
}
29以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。
……
singingItem=new________(”唱歌”);//生成菜单项对象
……
public void actionPerformed(ActionEvent e){
if(egetSource()==singingItem)
textsetText(e________()+ ”菜单项被选中!”);
}
30某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。
final int number=30;//假定幻灯片有30张
int count=0;
Image[]pic=new Image[number];
public void paint(______gc){
if((pic[count])!=null)
gcdrawImage(pic[count],10,10,pic[count]getWidth(this),
pic[count]getHeight(this),this);
}
public void mousePressed(MouseEvent e){
count=(count+1)% number;//循环逐张显示
__________;
}
31以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。
class ShareDataManager{
int data=0;
________void modiData(int delta){
if(delta>=0){
data+=delta;
}else {
while(data <delta){
try{Systemoutprintln(”发生等待!”);
wait();
}catch(InterruptedException e){ }
}
data-=delta;
}
_________;
}
ShareDataManager(int ititData){data=initData;}
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32阅读下列程序,请写出该程序的输出结果。
import javaapplet;import javaawt;
class Point{
int x,y;
Point(int xx,int yy){ x=xx;y=yy;}
Point(Point p){x=px;y=py; }
void m(int dx,int dy){x+=dx;y+=dy;}
}
class Circle extends Point{
int r;
Circle(Point p, int rr){ super(p); r=rr; }
float c(){ return 314f20fr; }
float a(){ return 314frr;}
}
public class sample extends Applet{
Circle yuan; Point d;
public void init() {d=new Point(2,5);yuan=new Circle(d,10);}
public void paint(Graphics g){
gdrawString(”yuan Circle”+(int)(yuanc()1000)/1000,5,20);
gdrawString(”yuan Area”+(int)(yuana()1000)/1000,5,40);
}
}
33.阅读下列程序,请写出该程序的功能。
import java util;
public class Class1{
public static void main(Srting args[]){
Date date1=new Date();
System out println (datel);
String t=dateltoString();
int endPos=tindexOf(‘C’);
t=tsubstring(11,endPos);
System out println(t);
}
}
34阅读下列程序,请写出该程序的功能。
import javaapplet;import javaxswing;import javaawtevent;
public class Class l extends Applet implements ActionListener{
JTextField text1,text2;
public void init(){
text1=new JTextField(10); text2=new JTextField(10);
setSize(200,100); add(text1); add(text2);
text1addActionListener(this);
}
public void actionPerformed(Action Event e){
long n;
if(egetSource()==text1){
n=LongparseLong(text1getText());
text2setText(StringvalueOf(nn));
}
}
}
35阅读以下程序,请写出该程序的功能。
import javaxswing; import javaawt;import javaawtevent;
class MyScrollBar extends JscrollBar{
public MyScrollBar(int init, int len, int low, int high){
super(JScrollBar HORIZONTAL, init,len,low,high);
}
}
class MyWindow extends JFrame implements AdjustmentListener{
private JTextField text;
MyWindow(String s){
super(s);
MyScrollBar myBar=new MyScrollBar(10,10,0,255);
Container con=this getContentPane();
con setLayout(new GridLayout(2,1));
this setSize(200,100);
this setLocation(100,100);
myBaraddAdjustmentListener(this);
text=new JTextField(””,20);
con add(text);conadd(myBar);
thissetVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e){
MyScrollBar myBar=(MyScrollBar)egetAdjustable();
textsetText(””+myBargetValue());
}
}
public class Class1{
public static void main(String[]args){
MyWindow myWindow=new MyWindow(”text5_4”);
}
}
36小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。
import javaapplet;import javaawt;
public class Class1 extends javaappletApplet implements Runnable{
Thread redBall;Graphics redPen;
int rx=0,ry=0;
public void init(){
setSize(250,200);
redBall =new Thread(this);
redPen=getGraphics();
redPen setColor(Colorred);
setBackground(Colorgray);
}
public void start(){ redBallstart(); }
public void run(){
while(true){
if(ThreadcurrentThread()==redBall){
rx=(int)(80Mathrandom());
ry=(int)(80Mathrandom());
red PensetColor(Colorred);
red PenfillOval(100+rx,100+ry,10,10);
try{redBallsleep(500);}
catch(InterruptedException e){}
redPensetColor(Colorgray);
redPenfillOval(100+rx,100+ry,10,10);
}
}
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。
38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。
import javaapplet;import javaxswing;
import javaawt; import javaawtevent;
class Panel1 extends JPanel{
JTextField text1, text2, text3;JButton addButton,subButton;
Panel1(){
text1=new JTextField(10);text2=new JTextField(10);
text3=new JTextField(10);setLayout(new GridLayout(5,1));
addButton=new JButton(”加”);subButton=new JButton(”减”);
add(text1); add(text2);
add(text3); add(addButton); add(subButton);
}
}
public class Classl extends Applet implements ActionListener{
Pane1 panel;
public void init(){
setSize(100,200); panel=new Panel1();add(panel);
(paneladdButton)addActionListener(this);
(panelsubButton) addActionListener(this);
}
public void actionPerformed(ActionEvent e){
一年一度的端午佳节就快到来了,上岸鸭小编在这里提前祝大家端午安康。话说正题,今年的银行招聘在这个时间段已经到了收尾的时候,大家在考试中的表现应该都非常的顺利吧。没有发挥好的同学,大家也不用过于失落,因为不久后的秋季招聘将会是大家又一个机会,针对于不少朋友对银行招聘的一些内容并不是太了解,小编这几天对大家在本站私信留言的问题进行了一系列的调查与归纳,比如说,上海银行总行社会招聘面试,上海银行招聘笔试通过名单,上海银行春招笔试等等,今天就带大家了解一下上海银行总行招聘岗位笔试内容都一样吗
根据调查了解,上海银行考试内容主要考察四大部分:行政职业能力测试类(即我们平常说的行测)、英语类、综合知识类、性格测试类。其中性格测试不用花过多的时间复习,只要在答题时真实回答,不要过于极端就可以了。
一般而言,总行部门对应届生的学历要求较高,在实习经历方面,更偏向具有相关性强的实习。上海银行的笔试去年是机考的形式,今年估计也是,所谓的机考,也就是在线测试,也就是电脑答题,所以考试都是考选择题的内容。上海银行校园招聘主要分为两种方式,一个是秋季招聘,另一个就是春季补招,相对于春季补招来说,秋季招聘的人数比较多,也是每年各大银行大量储备人才的关键时期。秋招集中在每年的9月-12月,春招集中在每年3--4月。
以上就是关于上海银行总行招聘岗位笔试内容都一样吗的全部内容了,谢谢大家的耐心阅读,如果想了解更多资讯的话,上岸鸭这里应有尽有,大家可以浏览看看,并且还有很多考试的复习资料与各大银行历年真题供大家参考学习,点击下方链接就可以免费下载体验哟,祝大家在今年可以顺利上岸,成功拿到心仪银行的专属offer。
银行招聘考试复习资料在线领取
import javautilScanner;
public class shuxiangjia {
/
@param args
/
public static void main(String[] args) {
// TODO Auto-generated method stub
Systemoutprintln("请输入有几个数相加:");
Scanner sc=new Scanner(Systemin);
int n=scnextInt();
int sum=0;
for(int i=1;i<=n;i++)
{
sum=sum+fun(i);
if(i<n)
{
Systemoutprint(fun(i)+"+");
}
else
{
Systemoutprint(fun(i)+"="+sum);
}
}
}
private static int fun(int i) {
// TODO Auto-generated method stub
int k=0,a;
if(i==1)
k=2;
if(i>=2)
{
a=(int)Mathpow(10, i-1);
k=2a+fun(i-1);
}
return k;
}
}
javasql中主要是一些数据库相关的类,如Connection, Driver, Statement, ResultSet等。
TCL SQL语言共分为四大类:数据查询语言DQL,数据 *** 纵语言DML,数据定义语言DDL,数据控制语言DCL。
以上就是关于(java大一题目)多线程全部的内容,包括:(java大一题目)多线程、谁能发个全国计算机考试的JAVA真题给我笔试题、上海银行总行招聘岗位笔试内容都一样吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)