Java期末大题

Java期末大题,第1张

Java期末大题 Java期末 大题部分 第一题:多线程
package kaoshi;

public class SellTicket {
	public static void main(String[] args) {
		Ticket ticket=new Ticket();
		new Thread(ticket,"一号窗口").start();
		new Thread(ticket,"二号窗口").start();
		new Thread(ticket,"三号窗口").start();
		new Thread(ticket,"四号窗口").start();
		new Thread(ticket,"五号窗口").start();
	}

}
class Ticket implements Runnable{
	private int ticket=100;
	
	public void run() {
		this.sell();
	}
	public synchronized void sell() {
		while (true) {
			if (ticket<1) {
				System.out.println("票卖完了!");
				System.exit(0);
			}
			System.out.println(Thread.currentThread().getName()+"卖出第"+(ticket--)+"张票");
			
			try {
				Thread.sleep(100);
				notifyAll();
				wait();
			} catch (InterruptedException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			
		}
	}
	
}
第二题:文件读写
package kaoshi;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class FileRead {
	public static void main(String[] args) throws IOException {
		BufferedReader read = null;
		BufferedWriter out = null;
		try {
			read=new BufferedReader(new FileReader("a.txt"));
			out=new BufferedWriter(new FileWriter("b.txt"));
			String r;
			while((r=read.readLine())!=null)
			{
				String w=null;
				String[] reads = r.split("");
				w=reads[0]+"+"+reads[1]+"="+(Integer.parseInt(reads[0])+Integer.parseInt(reads[1]));
				out.write(w+"rn");
			}
			
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}finally {
			read.close();
			out.close();
		}
		
	}
}

第三题:Point和Circle类
package kaoshi;

public class PointAndCircle {
	public static void main(String[] args) {
		Point point=new Point(1, 1);
		Circle cirlce=new Circle(1, 1, 1);
		System.out.println(point.getDistance(2, 2));
		System.out.println(cirlce.getArea());
	}

}
class Point{
	private double x;
	private double y;
	public Point(double x,double y) {
		this.x=x;
		this.y=y;
	}
	public void setX(double x){
		this.x=x;
	}
	public void setY(double y){
		this.y=y;
	}
	public double getX() {
		return this.x;
	}
	public double getY() {
		return this.y;
	}
	public double getDistance(double x,double y){
		return Math.sqrt(Math.pow(this.x-x,2)+Math.pow(this.y-y, 2));
	}
}
class Circle extends Point{
	private double r;
	public Circle(double x, double y,double r) {
		super(x, y);
		this.r = r;
	}
	public double getR() {
		return r;
	}
	public void setR(double r) {
		this.r = r;
	}
	public Point getPoint() {
		return new Point(super.getX(),super.getY());
	}
	public double getArea() {
		return Math.PI*this.r*this.r;
	}
}
第四题:Rect类和梯形类
class Rect{
	private double len;
	private double width;
	public Rect(double len,double width) {
		this.len=len;
		this.width=width;
	}
	public double getArea() {
		return this.len*this.width;
	}
	public double getLen() {
		return this.len*2+2*this.width;
	}
}
class Tixing{
	private double slen;
	private double xlen;
	private double high;
	public Tixing(double slen, double xlen, double high) {
		this.slen = slen;
		this.xlen = xlen;
		this.high = high;
	}
	public double getArea() {
		return (this.slen+this.xlen)*this.high/2;
	}
}
第五题:最大公约数最小公倍数
package kaoshi;

import java.time.chrono.MinguoChronology;
import java.util.Scanner;

public class MaxAndMin {
	public static int Max(int a,int b) {
		while(b!=0) {
            int i=a%b;
            a=b;
            b=i;
        }
		return a;
	}
	public static int Min(int a,int b) {
		int i;
		for(i=a>b?a:b;i<=a*b;i++)
		{
			if (i%a==0&&i%b==0) {
                break;
			}
		}
		return i;
	}
	public static void main(String[] args) {
		 Scanner scanner=new Scanner ( System.in );
	     int a=scanner.nextInt ();
	     int b=scanner.nextInt ();
	     System.out.println(Min(a,b));
	     System.out.println(Max(a,b));
	}
}

第六题:手机以及固话号码正则表达式(暂定)
package kaoshi;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PatternAndMatcher {
	public static void main(String[] args) {
		 Pattern p1=null;
		 Matcher m=null;
		 String phonenum="17249231180 17369237180xxd1736-00092371801236-01202237180";
		 p1=Pattern.compile("([1][0-9]{10})|([0-9]{4}-[0-9]{10})");
		 m=p1.matcher(phonenum);
		 while(m.find())
		 {
			 //System.out.println(1);
			 System.out.println(m.group());
		 }
		 //System.out.println(1);
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5572798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存