Java笔试题共23题(附答案)(3)

2019-03-15 18:06

}

{ }

//创建RunnableImpl类对象

RunnableImpl ri = new RunnableImpl();

//创建Thread类的对象,并把ri作为参数传递 Thread t1 = new Thread(ri); //给线程设置名字

t1.setName(\线程\//启动线程 t1.start();

//创建ThreadImpl类对象

ThreadImpl ti = new ThreadImpl(); ti.setName(\线程\//启动线程 ti.start();

//1、通过实现Runnable接口,重写run()方法 class RunnableImpl implements Runnable { @Override public void run() { }

}

System.out.println(Thread.currentThread() .getName()+\正在执行任务\

//2、通过继承THread类,重写run()方法。 class ThreadImpl extends Thread { @Override public void run() { System.out.println(getName()+\正在执行任务\ } }

///////////////////////////////////////////// \/*

题目: 定义一个类实现Runnable接口,卖票100张,四个线程,输出格式为“窗口1,还剩10张票” ,指定窗口3卖第10张票。 思路: 1、定义一个资源类实现Runnable接口 2、资源类重写run()方法,并加锁卖票

3、在测试类中创建线程并启动 */

class SellTicket { public static void main(String[] args) { //创建一个资源对象 Tickets ticket = new Tickets();

//创建线程对象并传入资源对象 Thread t1 = new Thread(ticket); Thread t2 = new Thread(ticket); Thread t3 = new Thread(ticket); Thread t4 = new Thread(ticket);

//设置线程名称 t1.setName(\窗口1\ t2.setName(\窗口2\ t3.setName(\窗口3\ t4.setName(\窗口4\ //启动线程 t1.start(); t2.start(); t3.start(); t4.start(); } }

class Tickets implements Runnable { private int ticket = 100; @Override public void run() { while(true) { //加锁 synchronized(this) { //剩余票数不大于0就退出循环 if(ticket > 0) { try { Thread.sleep(100); } catch (InterruptedException e)

{ e.printStackTrace(); } //让窗口3卖第十张票 if(ticket == 10) { if(!Thread.currentThread().getName().equals(\窗口3\ { continue; } } System.out.println(Thread.currentThread().getName()+\还( --ticket )+\张票\ } else { break; } } } } }

//////////////////////////////////////////////////////// \/*

剩\

写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法, 用for循环创建5个线程对象。需求如下:

① 利用线程类的构造函数输出:\创建线程4\。

(备注:当创建一个线程的时候,标记为1,再次创建一个线程的时候,标记为2, 所以输出的\创建线程4\就是创建的第四个线程) ② 在run方法中输出:“线程X :计数Y”,当执行次数达到6次的时候,退出。 (备注:其中“线程X”为第X个线程,“计数Y”为该线程的run方法执行了多少次) */

class SellTicket { public static void main(String[] args) { //用for循环创建5个线程对象 for(int i = 1; i <= 5 ;i ++) { new Thread(new MyThread (i) ).start(); } } }

class MyThread implements Runnable { private int count; public MyThread(){} public MyThread(int count) { this.count = count;

System.out.println(\创建线程\ } @Override public void run() { for(int i = 1 ; i <=6; i++) { System.out.println(\线程\计数\ } } }

/////////////////////////////////////////////////////////// \/*

题目: 编写一个Java程序实现多线程,在线程中输出多线程名字,隔300毫秒输出一次, 共输出20次。 思路: 1、用实现Runnable接口并重写run方法 2、创建线程 */

class Test { public static void main(String[] args) { //创建线程对象 Thread t1 = new Thread(new MyThread () ); Thread t2 = new Thread(new MyThread () ); //设置线程名称 t1.setName(\我是线程1\ t2.setName(\我是线程2\ //启动线程 t1.start(); t2.start(); } }

//实现Runnable接口

class MyThread implements Runnable { @Override public void run() { //循环20次 for(int i = 1 ; i <=20; i++) { try { //休眠300毫秒 Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); }

//打印线程名称 System.out.println(\线程名称:\ } } }

///////////////////////////////////////////////////////////////////// \/*

题目: 输出一个字符串,怎样判断是否是aba,abcba,abffba,的字符串 思路: 1、首先判断是奇数个还是偶数个(字符串的长度%2,1为基数,0为偶数) 2、是0就是偶数个 //得到前半部分子字符串 字符串.substring(0,字符串的长度/2 ) //得到前后半部分子字符串 字符串.substring(字符串的长度/2 ,字符串的长度 ) 字符串.toCharArray()分别得到两个字符数组 在循环字符数组 一个正序一个倒序的 用对比字符是否equals 3、是1就是奇数个 //得到前半部分子字符串 字符串.substring(0,字符串的长度/2 ) //得到前后半部分子字符串 字符串.substring(字符串的长度/2+1 ,字符串的长度 ) 字符串.toCharArray()分别得到两个字符数组


Java笔试题共23题(附答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常用的素质拓展项目 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: