测试代码 :
创新互联主营若羌网站建设的网络公司,主营网站建设方案,成都APP应用开发,若羌h5微信小程序开发搭建,若羌网站营销推广欢迎若羌等地区企业咨询
import java.util.regex.*;
class Test {
public static void main(String args[]) {
Pattern p;
Matcher m;
String patternString = "\\dA\\d"; // 给出一个正则表达式
String matchedString = "0A1A2A3A4A5A6A7A8A9"; // 给出待匹配的字符序列
p = Pattern.compile(patternString); // 用模式patternString初试化模式对象p
m = p.matcher(matchedString); // 用matchedString初始化匹配对象m
while (m.find()) {
String str = m.group();
System.out.print("从" + m.start() + "到" + m.end() + "匹配模式子序列:");
System.out.println(str); // 查找matchedString中和patternString匹配的全部子字符串,并输出
// 这些子字符串,以及它们在matchedString中的起止位置
}
String temp = m.replaceAll("####");
System.out.println(temp);
System.out.println(matchedString);
matchedString = ("9A00A3"); // 重新给出待匹配的字符序列
m = p.matcher("9A00A3"); // 重新初始化匹配对象m
if (m.matches()) { // 判断matchedString是否匹配patternString的条件表达式
String str2 = m.group();
System.out.println(str2);
} else
System.out.println("不完全匹配");
if (m.lookingAt()) // 判断从matchedString的开始位置是否有和patternString匹配的子序列
{
String str3 = m.group();
System.out.println(str3);
}
}
}
运行结果:
从0到3匹配模式子序列:0A1
从4到7匹配模式子序列:2A3
从8到11匹配模式子序列:4A5
从12到15匹配模式子序列:6A7
从16到19匹配模式子序列:8A9
####A####A####A####A####
0A1A2A3A4A5A6A7A8A9
不完全匹配
9A0
java课程设计题目及代码分别是:
1、题目:计算器。设计内容是设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。
设计要求是设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。
2、代码:
数字按钮NumberButton类如下:
import java.awt.
import java.awt.event.
import javax.swing.
public class NumberButton extends Button.
{
int number.
public NumberButton(int number).
{
super(""+number).
this.number=number.
setForeground(Color.blue).
}
public int getNumber().
{
return number;
}
}
其它java课程设计题目及代码是:
题目:华容道。编写一个按钮的子类,使用该子类创建的对象代表华容道中的人物。通过焦点事件控制人物颜色,当人物获得焦点时颜色为蓝色,当失去焦点时颜色为灰色。
通过键盘事件和鼠标事件来实现曹操、关羽等人物的移动。当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按下键盘的“↓“键,该人物向下移动。向左、向右和向上的移动原理类似。
代码是:
String name[]={"曹操","关羽","张","刘","马","许","兵","兵","兵","兵"}.
for(int i=0;iname.length;i++).
{
person[i]=new Person(i,name[i]).
person[i].addKeyListener(this).
person[i].addMouseListener(this).
// person[i].addFocusListener(new Person).
add(person[i]).
}
person[0].setBounds(104,54,100,100).
person[1].setBounds(104,154,100,50).
person[2].setBounds(54,154,50,100).
person[3].setBounds(204,154,50,100).
person[4].setBounds(54,54,50,100).
person[5].setBounds(204,54,50,100);
person[6].setBounds(54,254,50,50);
person[7].setBounds(204,254,50,50);
person[8].setBounds(104,204,50,50);
person[9].setBounds(154,204,50,50);
public class Circle {
double x,y,r;
//无参构造方法
public Circle() {}
//三个参数的构造方法
public Circle(double x, double y, double r) {
this.x = x;
this.y = y;
this.r = r;
}
//求面积的方法,返回面积值
public double getArea() {
//求圆的面积
double s = 3.14*r*r;
return s;
}
//求周长的方法
public double getPerimeter() {
double l = 3.14*r*2;
return l;
}
//判断是否相交
public String getStatus(Circle c) {
//判断
//通过两圆的圆心距当圆心距小于两圆半径之差时 两圆内含
//当圆心距等于两圆半径之差时 两圆内切
//当圆心距小于两圆半径之和 大于半径之差时 两圆相交
//当圆心距等于两圆半径之和时 两圆外切
//当圆心距大于两圆半径之和时 两圆外离
String result = "";
double l = Math.sqrt((x-c.x)*(x-c.x)+(y-c.y)*(y-c.y));
if(l r+c.r) {
result = "相离";
}else if(l == r+c.r) {
result = "外切";
}else if(l r+c.r l r+c.r) {
result = "相交";
}else if(l == Math.abs(r-c.r)) {
result = "内切";
}else {
result = "内含";
}
return result;
}
}
public class TestCircle {
public static void main(String[] args) {
Circle c1 = new Circle(5, 5, 5);
Circle c2 = new Circle(1, 2, 3);
//面积
System.out.println(c1.getArea());
//周长
System.out.println(c2.getPerimeter());
//状态
System.out.println(c1.getStatus(c2));
}
}
第一题,x和n从命令行作为参数输入:
public class Test1{
public static void main(String[] args){
int argLen = args.length;
//判断是否至少传入了两个参数
if (argLen 2){
System.out.println("请输入两个整型参数");
return;
}
int x = 0;
int n = 0;
//转换传递进来的参数,如果输入的参数不合法,不能转换为int型,则Integer.parseInt方法会抛出NumberFormatException异常
try{
x = Integer.parseInt(args[0]);
n = Integer.parseInt(args[1]);
}
catch(NumberFormatException e)
{
System.out.println("输入的参数不是整数");
System.exit(1);
}
//判断x和n的值是否是正数
if (x=0 || n=0)
{
System.out.println("不能输入负值或0,请输入两个正整数");
System.exit(1);
}
//打印转换后的x和n
System.out.println("你输入的x和n分别为: " + x + ", " + n);
/*
y=1+x/1+x*x*x/3+......+x^n/n
根据公式计算结果。由于公式中y增长的很快,所以我们定义一个double型的变量存储结果的值。但仍然很有可能溢出。必要的话可以使用math包中的类来进行任意长度和精度的处理,但这里就不麻烦了。
*/
double y = 1.0;
for (int i=1; i=n; i+=2)
{
y += Math.pow(x, i)/(double)i;
}
//打印结果
System.out.println("根据公式y=1+x/1+x*x*x/3+......+x^n/n所计算出的结果为: " + y);
} // main()
} /* Test1 */
第二题,需要的test11.html文件内容如下:
html
head
titleTest11 demo/title
/head
body
applet width="300" height="400" code="Test11.class"/applet
/body
/html
然后使用appletviewer test11.html浏览小应用程序(在浏览器中可能不能正常运行)。
java代码如下:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Label;
public class Test11 extends Applet{
//定义文字所在位置与顶部的距离
private int posY = 200;
private Label textsLabel = new Label("我猜你将看到这句话一直在滚动");
public void init()
{
textsLabel.setBounds(50, 200, 200, 30);
this.add(textsLabel);
//启动新线程
SecThread st = new SecThread();
st.start();
} // init()
public void paint(Graphics g){
super.paint(g);
} //paint()
//定义一个内部类,以启动一个新的线程
private class SecThread extends Thread{
public void run()
{
while(true){
//让当前线程休眠50毫秒,注意sleep方法会抛出InterruptedException异常
try{
Thread.sleep(50);
}
catch(InterruptedException e){
System.out.println("执行过程中出错");
System.exit(1);
}
//设置文字的新位置
posY -= 5;
//判断是否小于0(即已经到达顶部),如果小于0则重置为400
posY = (posY=0?400:posY);
textsLabel.setBounds(50, posY, 200, 30);
Test11.this.repaint();
}
}
}
} /* Test2 */
3, 4两题实在很简单,略过了。
找到你的帖子了!
将3,和4也写一下:
3.运行方法看2:
import java.applet.Applet;
import java.awt.Graphics;
public class Test111 extends Applet
{
public void paint(Graphics g)
{
for (int i=1; i=10; i++) //画横线
{
g.drawLine(20, i*20, 200, i*20);
}
for (int j=1; j=10; j++) //画竖线
{
g.drawLine(j*20, 20, j*20, 200);
}
}
}
4. 代码如下:(你说已经写好的程序怎么改成applet。记住一点,applet在运行时自动调用init、start和paint方法,而通常的应用程序调用main方法。只要将main方法中的内容妥善地移到这三个方法中就可以了。但修改的时候要注意,不要引入错误。)
//任意输入三个数,可以有小数,然后比较它们的大小
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Button;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
public class Test1111 extends Applet
{
public void paint(Graphics g)
{
this.setLayout(null);
Button btn = new Button("开始输入");
btn.setBounds(100, 130, 100, 30);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sort();
}
});
this.add(btn);
}
private void sort()
{
//3个元素的字符串数组,存放输入的数
String[] numberStrs = new String[3];
for (int i=0; inumberStrs.length; i++)
{
//如果输入时按了取消按钮,则继续提示输入
while(numberStrs[i] == null)
{
numberStrs[i] = JOptionPane.showInputDialog("请输入第 " + (i+1) + " 个数");
}
}
//定义3个元素的double型数组,存放转换后的值
double[] numbers = new double[3];
try
{
for (int j=0; jnumbers.length; j++)
{
numbers[j] = Double.parseDouble(numberStrs[j]);
}
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "输入的不是数字!"
, "ERROR", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
String result = "";
result += "你输入的数字为: ";
for (int k=0; knumbers.length-1; k++)
{
result += numbers[k] + ", ";
}
result += numbers[numbers.length-1] + "\n";
//简单点,使用冒泡排序
for (int i=1; inumbers.length; i++)
{
for (int j=0; jnumbers.length-1; j++)
{
if (numbers[j] numbers[j+1])
{
double temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
result += "排序后的数字为: ";
for (int k=0; knumbers.length-1; k++)
{
result += numbers[k] + ", ";
}
result += numbers[numbers.length-1];
//输出结果
JOptionPane.showMessageDialog(null, result, "Result", JOptionPane.PLAIN_MESSAGE);
}
}
java.util.Date[]dates=newjava.util.Date[10];你只是new了一个Date类型的数组对象,但数组对象中并没有对象,会报空指针的.for(inti=0;i
Java程序:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 汽车类
*/
class Car {
/**
* 汽车编号
*/
protected int id = 0;
/**
* 汽车款式
*/
protected String type = null;
/**
* 构造汽车对象
*/
public Car() {
}
/**
* 构造汽车对象
* @param id 汽车编号
* @param type 汽车款式
*/
public Car(int id, String type) {
this.id = id;
this.type = type;
}
/**
* 获得汽车编号
* @return 汽车编号
*/
public int getId() {
return this.id;
}
/**
* 获得汽车款式
* @return 汽车款式
*/
public String getType() {
return this.type;
}
}
/**
* 汽车销售人员类
*/
class Saler {
/**
* 姓名
*/
protected String name = null;
public ListCar cars = new ArrayListCar();
/**
* 构造销售汽车人员对象
*/
public Saler() {
}
/**
* 构造汽车销售人员对象
* @param name 姓名
*/
public Saler(String name) {
this.name = name;
}
/**
* 获得姓名
* @return 姓名
*/
public String getName() {
return this.name;
}
}
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ListCar allCar = new ArrayListCar(); //待售汽车对象的集合
allCar.add(new Car(1001, "凯越"));
allCar.add(new Car(1002, "凯越"));
allCar.add(new Car(1003, "凯越"));
allCar.add(new Car(1004, "凯越"));
allCar.add(new Car(2001, "君威"));
allCar.add(new Car(2002, "君威"));
allCar.add(new Car(2003, "君威"));
allCar.add(new Car(2004, "君威"));
allCar.add(new Car(2005, "君威"));
Saler saler = new Saler("张三其");
int choice = 0;
int type; //销售车型
int num; //销售数量
while(true) {
System.out.println("请选择销售方式");
System.out.println("按车辆销售:\t1");
System.out.println("按车型销售:\t2");
System.out.println("查看销售情况:\t3");
System.out.println("退出:\t\t0");
System.out.print("您的选择:");
choice = scan.nextInt();
switch(choice) {
case 0: //退出系统
System.out.println("退出系统");
System.exit(0);
break;
case 1: //按车辆销售
for(Car car : allCar) {
if(! exists(saler.cars, car)) {
saler.cars.add(car);
System.out.printf("\t售出 %s 1 辆\n", car.getType());
break;
}
}
break;
case 2: //按车型销售
System.out.print("车型(凯越 0/君威 1):");
type = scan.nextInt();
System.out.print("销售数量:");
num = scan.nextInt();
int c = 0; //实际销售数量
for(Car car : allCar) {
if(c = num) {
break;
}
if(car.getType().equals(type == 0 ? "凯越" : "君威") ! exists(saler.cars, car)) {
saler.cars.add(car);
c++;
}
}
if(c num) {
System.out.printf("\t库存不足,实际售出 %s %d 辆\n", type == 0 ? "凯越" : "君威", c);
}
else {
System.out.printf("\t售出 %s %d 辆\n", type == 0 ? "凯越" : "君威", num);
}
break;
case 3: //查看销售情况
System.out.println("\t当前销售情况一览");
System.out.printf("\t%10s%10s\n", "汽车款式", "汽车编号");
for(Car car : saler.cars) {
System.out.printf("\t%10s%10d\n", car.getType(), car.getId());
}
System.out.println("---------------------------");
System.out.printf("\t小计:\t%d 辆\n", saler.cars.size());
break;
default:
break;
}
try {
System.in.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//判断car在cars中是否存在
public static boolean exists(ListCar cars, Car car) {
for(Car c : cars) {
if(c.getId() == car.getId()) {
return true;
}
}
return false;
}
}
运行测试:
请选择销售方式
按车辆销售: 1
按车型销售: 2
查看销售情况: 3
退出: 0
您的选择:1
售出 凯越 1 辆
请选择销售方式
按车辆销售: 1
按车型销售: 2
查看销售情况: 3
退出: 0
您的选择:2
车型(凯越 0/君威 1):0
销售数量:3
售出 凯越 3 辆
请选择销售方式
按车辆销售: 1
按车型销售: 2
查看销售情况: 3
退出: 0
您的选择:3
当前销售情况一览
汽车款式 汽车编号
凯越 1001
凯越 1002
凯越 1003
凯越 1004
---------------------------
小计: 4 辆
请选择销售方式
按车辆销售: 1
按车型销售: 2
查看销售情况: 3
退出: 0
您的选择:0
退出系统