求一个JAVA程序

作者&投稿:坚咐 (若有异议请与网页底部的电邮联系)
求一个完整的java程序~

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class TestString {
public static void main(String[] args) throws IOException {
boolean flag = false;
do {
System.out.println();
System.out.println("Do you want to continue?(Y/N)");
Scanner scan = new Scanner(System.in);
String banlance = scan.next();
if (banlance.equals("Y")) {
flag = true;
} else if(banlance.equals("N")) {
System.out.println("End!");
break;
} else {
System.out.println("Error Input!");
}

System.out.print("Please input the String: ");
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
String str = br.readLine();
StringBuffer strBuffer = new StringBuffer(str);
for(int i=0; i<strBuffer.length(); i++) {//将元音字母先删掉
char c = strBuffer.charAt(i);
if ((c == 'a') || (c == 'e') || (c == 'i') || (c == 'o') || (c == 'u')) {
strBuffer = strBuffer.deleteCharAt(i);
--i;
}
}

for(int i=0,j=i+1; j<strBuffer.length(); i++,j++) {//处理重复辅音字母
char c1 = strBuffer.charAt(i), c2 = strBuffer.charAt(j);
if(c1 == c2) {
strBuffer = strBuffer.deleteCharAt(i);
--i;
--j;
}
}

System.out.println(strBuffer);

} while (flag = true);
}
}
测试与结果:

这得费些时间精力、所以,没有人会100%在这贴上代码的

//引入所需的类包

import java.awt.*;
import java.applet.*;

//引入所需的类包

import java.awt.*;
import java.applet.*;

//定义类Calculator.java
public class Calculator extends Applet
{
private TextField tfAnswer;//计算器的显示文本框
private Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;//数字0~9的按钮
//定义小数点,等于号,加,减,清零,乘和除等按钮
private Button bPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;

private String OperatorCurrent,OperatorPre;//OperatorCurrent表示当前的运算符号,
//OperatorPre表示上一次的运算符号
private String ForeScreen,BackScreen;//ForeScreen表示当前显示的字符
//BackScreen表示上一次显示的字符
private boolean isFloat = false;//判断是否为浮点数

//类的初始化函数
public void init()
{
//将OperatorCurrent,OperatorPre初始化为空字符串
OperatorCurrent = new String("");
OperatorPre = new String("");
//将ForeScreen,BackScreen初始化为空字符串
ForeScreen = new String("");
BackScreen = new String("");
//设置背景色和前景色
this.setBackground(Color.gray);
this.setForeground(Color.blue);

//添加用于显示的文本框
setLayout(null);
tfAnswer = new TextField();
tfAnswer.setBounds(5,5,100,20);
this.add(tfAnswer);

//添加"C"按钮
bClear = new Button("C");
bClear.setBounds(5,30,20,20);
bClear.setBackground(Color.pink);
this.add(bClear);

//添加"/"按钮
bDivision = new Button("/");
bDivision.setBounds(30,30,20,20);
bDivision.setBackground(Color.green);
this.add(bDivision);

//添加"*"按钮
bMulti = new Button("*");
bMulti.setBounds(55,30,20,20);
bMulti.setBackground(Color.green);
this.add(bMulti);

//添加"-"按钮
bMinus = new Button("-");
bMinus.setBounds(80,30,20,20);
bMinus.setBackground(Color.green);
this.add(bMinus);

//添加"7""8""9"按钮
b7 = new Button("7");
b7.setBounds(5,55,20,20);
this.add(b7);
b8 = new Button("8");
b8.setBounds(30,55,20,20);
this.add(b8);
b9 = new Button("9");
b9.setBounds(55,55,20,20);
this.add(b9);

//添加"4""5""6"按钮
b4 = new Button("4");
b4.setBounds(5,80,20,20);
this.add(b4);
b5 = new Button("5");
b5.setBounds(30,80,20,20);
this.add(b5);
b6 = new Button("6");
b6.setBounds(55,80,20,20);
this.add(b6);

//添加"+"按钮
bPlus = new Button("+");
bPlus.setBounds(80,55,20,45);
bPlus.setBackground(Color.green);
this.add(bPlus);

//添加"1""2""3"按钮
b1 = new Button("1");
b1.setBounds(5,105,20,20);
this.add(b1);
b2 = new Button("2");
b2.setBounds(30,105,20,20);
this.add(b2);
b3 = new Button("3");
b3.setBounds(55,105,20,20);
this.add(b3);

//添加数字"0"小数点"."按钮
b0 = new Button("0");
b0.setBounds(5,130,45,20);
this.add(b0);
bPoint = new Button(".");
bPoint.setBounds(55,130,20,20);
this.add(bPoint);

//添加"="按钮
bEqual = new Button("=");
bEqual.setBounds(80,105,20,45);
bEqual.setBackground(Color.green);
this.add(bEqual);

}

//按钮点击时间处理函数
public boolean action(Event e, Object o)
{
String s = new String("");
if(e.target instanceof Button)
{
//如果点击的是数字按钮或者是小数点按钮时
if((e.target == b0)||(e.target == b1)||(e.target == b2)||
(e.target == b3)||(e.target == b4)||(e.target == b5)||
(e.target == b6)||(e.target == b7)||(e.target == b8)||
(e.target == b9)||(e.target == bPoint))
{
//如果点击的是数字按钮时
if(e.target != bPoint)
{
s = (String)o;
System.out.print(s);
doForeScreen(s);//在显示文本框中显示相应的数字
}
//如果点击的是小数点按钮,并且isFloat为false时
if((e.target == bPoint)&&(!isFloat))
{
isFloat = true;
s = (String)o;
//如果显示文本框为空时
if(ForeScreen.equals(""))
{
ForeScreen += "0.";//则添加"0."
repaint();//重绘
}
//否则直接显示小数点"."
else
{
System.out.print(s);
doForeScreen(s);
}
}
}

//如果点击按钮"C"
if(e.target == bClear)
{
doClear();//清空显示文本框
}

//如果点击了运算符按钮
if((e.target == bMulti)||(e.target == bDivision)||
(e.target == bPlus)||(e.target == bMinus))
{
//如果显示文本框不为空时
if(ForeScreen != "")
{
OperatorCurrent = ((String)o);//保存当前运算符
doOperator();//计算结果
System.out.print((String)o);
}
//否则
else
{
OperatorPre = ((String)o);//将运算符保存为前一次的运算符变量中
}
}

//如果点击了按钮"="
if(e.target == bEqual)
{
doOperator();//计算结果
}
}

return true;
}

//计算结果的函数
public void doOperator()
{
//变量dFore保存当前数值,而变量dBack保存前一次的数值
double dFore,dBack;
Double d;

//如果前一次的运算符为空时
if(OperatorPre.equals(""))
{
BackScreen = ForeScreen;//将当前的数值保存在变量BackScreen中
ForeScreen = "";//将ForeScreen置为空,以获取新的数值
tfAnswer.setText(BackScreen);//将保存在变量BackScreen中的数值显示出来
repaint();//重绘
}
//否则,按前一次的运符计算结果
else
{
dFore = (new Double(ForeScreen)).doubleValue();//获取当前显示的数值
dBack = (new Double(BackScreen)).doubleValue();//获取前一次的数值
ForeScreen = "";//将ForeScreen置空,以获取新的数值
BackScreen = tfAnswer.getText();//将结果保存在变量BackScreen中

//如果是加法
if(OperatorPre.equals("+"))
{
d = new Double((dBack + dFore));//两数相加
tfAnswer.setText(d.toString());//显示结果
BackScreen = d.toString();//将结果 保存在变量BackScreen中
repaint();//重绘
}

//如果是减法
if(OperatorPre.equals("-"))
{
d = new Double((dBack - dFore));//两数相减
tfAnswer.setText(d.toString());//显示结果
BackScreen = d.toString();//将结果保存在变量BackScreen中
repaint();//重绘
}

//如果是乘法
if(OperatorPre.equals("*"))
{
d = new Double((dBack * dFore));//两数相乘
tfAnswer.setText(d.toString());//显示结果
BackScreen = d.toString();//将结果保存在变量BackScreen中
repaint();//重绘
}

//如果是除法
if(OperatorPre.equals("/"))
{
d = new Double((dBack / dFore));//两数相除
tfAnswer.setText(d.toString());//显示结果
BackScreen = d.toString();//将结果保存在变量BackScreen中
repaint();//重绘
}
}
OperatorPre = OperatorCurrent;//将当前的运算符保存在变量OperatorPre中
repaint();//重绘
}

//类的绘制函数
public void paint(Graphics g)
{
//tfAnswer.setText(ForeScreen);
}

//当前数值的显示函数
public void doForeScreen(String s)
{
ForeScreen += s;
tfAnswer.setText(ForeScreen);
repaint();
}

//后屏处理函数
public void doBackScreen(String s)
{
BackScreen = ForeScreen;//将当前的数值保存在BackScreen中
ForeScreen = "";//ForeScreen清空
tfAnswer.setText(ForeScreen);//显示数值
repaint();//重绘
}

//文本框清空
public void doClear()
{
//相应变量的置空
OperatorCurrent = "";
OperatorPre = "";
ForeScreen = "";
BackScreen = "";
isFloat = false;
tfAnswer.setText(ForeScreen);//文本框清空
repaint();//重绘
}

}

/////calculator.java代码

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.*;

public class calculator extends JApplet{

Container contentPane;

JButton btn0 = new JButton();
JButton btn1 = new JButton();
JButton btn2 = new JButton();
JButton btn3 = new JButton();
JButton btn4 = new JButton();
JButton btn5 = new JButton();
JButton btn6 = new JButton();
JButton btn7 = new JButton();
JButton btn8 = new JButton();
JButton btn9 = new JButton();

//特殊按钮
JButton btnClear = new JButton(); //清除
JButton btnEqual = new JButton(); //等于
JButton btnPlus = new JButton(); //+操作符
JButton btnMinus = new JButton(); //-操作符
JButton btnMultiply = new JButton(); //*操作符
JButton btnDivide = new JButton(); //除操作符

JTextField texResult = new JTextField();

boolean flag=false;
String operand1;
String operand2;
double result;
String action;

public void init(){

contentPane = getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(250, 250));

btn0.setBounds(new Rectangle(50, 230, 45, 45));
btn0.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 14));
btn0.setText("0");
btn0.addActionListener(new btn0(this));

//清除操作符
btnClear.setBounds(new Rectangle(100,230,45,45));
btnClear.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btnClear.setText("C");
btnClear.addActionListener(new btnClear(this));

//=操作符
btnEqual.setBounds(new Rectangle(150,230,45,45));
btnEqual.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btnEqual.setText("=");
btnEqual.addActionListener(new btnEqual(this));

//+操作符
btnPlus.setBounds(new Rectangle(200,230,45,45));
btnPlus.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btnPlus.setText("+");
btnPlus.addActionListener(new btnPlus(this));

btn1.setBounds(new Rectangle(50,180,45,45));
btn1.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn1.setText("1");
btn1.addActionListener(new btn1(this));

btn2.setBounds(new Rectangle(100,180,45,45));
btn2.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn2.setText("2");
btn2.addActionListener(new btn2(this));

btn3.setBounds(new Rectangle(150,180,45,45));
btn3.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn3.setText("3");
btn3.addActionListener(new btn3(this));

//-操作符
btnMinus.setBounds(new Rectangle(200,180,45,45));
btnMinus.setFont(new java.awt.Font("Tahoma",Font.PLAIN,16));
btnMinus.setText("-");
btnMinus.addActionListener(new btnMinus(this));

btn4.setBounds(new Rectangle(50,130,45,45));
btn4.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn4.setText("4");
btn4.addActionListener(new btn4(this));

btn5.setBounds(new Rectangle(100,130,45,45));
btn5.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn5.setText("5");
btn5.addActionListener(new btn5(this));

btn6.setBounds(new Rectangle(150,130,45,45));
btn6.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn6.setText("6");
btn6.addActionListener(new btn6(this));

//*操作符
btnMultiply.setBounds(new Rectangle(200,130,45,45));
btnMultiply.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btnMultiply.setText("*");
btnMultiply.addActionListener(new btnMultiply(this));

btn7.setBounds(new Rectangle(50,80,45,45));
btn7.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn7.setText("7");
btn7.addActionListener(new btn7(this));

btn8.setBounds(new Rectangle(100,80,45,45));
btn8.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn8.setText("8");
btn8.addActionListener(new btn8(this));

btn9.setBounds(new Rectangle(150,80,45,45));
btn9.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btn9.setText("9");
btn9.addActionListener(new btn9(this));

//除操作符
btnDivide.setBounds(new Rectangle(200,80,45,45));
btnDivide.setFont(new java.awt.Font("Tahoma",Font.PLAIN,14));
btnDivide.setText("/");
btnDivide.addActionListener(new btnDivide(this));

texResult.setText("");
texResult.setBounds(new Rectangle(40, 35, 215, 35));
texResult.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 14));
texResult.setHorizontalAlignment(JTextField.RIGHT);

contentPane.add(btn0);
contentPane.add(btn1);
contentPane.add(btn2);
contentPane.add(btn3);
contentPane.add(btn4);
contentPane.add(btn5);
contentPane.add(btn6);
contentPane.add(btn7);
contentPane.add(btn8);
contentPane.add(btn9);

contentPane.add(btnClear);
contentPane.add(btnEqual);
contentPane.add(btnPlus);
contentPane.add(btnMinus);
contentPane.add(btnMultiply);
contentPane.add(btnDivide);

contentPane.add(texResult);
}

//0的事件监听器
public void btn0_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn0.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn0.getActionCommand());
}
}

class btn0 implements ActionListener{

private calculator adaptee;

btn0(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn0_actionPerformed(e);
}
}

//1的事件监听器
public void btn1_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn1.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn1.getActionCommand());
}
}

class btn1 implements ActionListener{

private calculator adaptee;

btn1(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn1_actionPerformed(e);
}
}

//2的事件监听器
public void btn2_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn2.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn2.getActionCommand());
}
}

class btn2 implements ActionListener{

private calculator adaptee;

btn2(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn2_actionPerformed(e);
}
}

//3的事件监听器
public void btn3_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn3.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn3.getActionCommand());
}
}

class btn3 implements ActionListener{

private calculator adaptee;

btn3(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn3_actionPerformed(e);
}
}

//4的事件监听器
public void btn4_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn4.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn4.getActionCommand());
}
}

class btn4 implements ActionListener{

private calculator adaptee;

btn4(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn4_actionPerformed(e);
}
}

//5的事件监听器
public void btn5_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn5.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn5.getActionCommand());
}
}

class btn5 implements ActionListener{

private calculator adaptee;

btn5(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn5_actionPerformed(e);
}
}

//6的事件监听器
public void btn6_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn6.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn6.getActionCommand());
}
}

class btn6 implements ActionListener{

private calculator adaptee;

btn6(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn6_actionPerformed(e);
}
}

//7的事件监听器
public void btn7_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn7.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn7.getActionCommand());
}
}

class btn7 implements ActionListener{

private calculator adaptee;

btn7(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn7_actionPerformed(e);
}
}

//8的事件监听器
public void btn8_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn8.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn8.getActionCommand());
}
}

class btn8 implements ActionListener{

private calculator adaptee;

btn8(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn8_actionPerformed(e);
}
}

//9的事件监听器
public void btn9_actionPerformed(ActionEvent e){

if(flag){
texResult.setText(btn9.getActionCommand());
flag = false;
}
else{

texResult.setText(texResult.getText()+btn9.getActionCommand());
}
}

class btn9 implements ActionListener{

private calculator adaptee;

btn9(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btn9_actionPerformed(e);
}
}

//清除操作
public void btnClear_actionPerformed(ActionEvent e){

texResult.setText("");
}

class btnClear implements ActionListener{

private calculator adaptee;

btnClear(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnClear_actionPerformed(e);
}
}

//+操作事件监听器
public void btnPlus_actionPerformed(ActionEvent e){

operand1 = texResult.getText();
action = "plus";
flag = true;
}

class btnPlus implements ActionListener{

private calculator adaptee;

btnPlus(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnPlus_actionPerformed(e);
}
}

//-操作事件监听器
public void btnMinus_actionPerformed(ActionEvent e){

operand1 = texResult.getText();
action = "minus";
flag = true;
}

class btnMinus implements ActionListener{

private calculator adaptee;

btnMinus(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnMinus_actionPerformed(e);
}
}

//*操作事件监听器
public void btnMultiply_actionPerformed(ActionEvent e){

operand1 = texResult.getText();
action = "multiply";
flag = true;
}

class btnMultiply implements ActionListener{

private calculator adaptee;

btnMultiply(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnMultiply_actionPerformed(e);
}
}

//除操作事件监听器
public void btnDivide_actionPerformed(ActionEvent e){

operand1 = texResult.getText();
action = "divide";
flag = true;
}

class btnDivide implements ActionListener{

private calculator adaptee;

btnDivide(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnDivide_actionPerformed(e);
}
}

//=操作事件监听器
public void btnEqual_actionPerformed(ActionEvent e){

double digit1;
double digit2;
operand2 = texResult.getText();

if(!flag){
if(action.equals("plus")){

digit1 = Double.parseDouble(operand1);
digit2 = Double.parseDouble(operand2);
result = digit1 + digit2;
texResult.setText("" + result);
flag = true;
}
else if(action.equals("minus")){

digit1 = Double.parseDouble(operand1);
digit2 = Double.parseDouble(operand2);
result = digit1 - digit2;
texResult.setText(""+result);
flag = true;
}
else if(action.equals("multiply")){

digit1 = Double.parseDouble(operand1);
digit2 = Double.parseDouble(operand2);
result = digit1 * digit2;
texResult.setText(""+result);
flag = true;
}
else if(action.equals("divide")){

digit1 = Double.parseDouble(operand1);
digit2 = Double.parseDouble(operand2);
result = digit1 / digit2;
texResult.setText(""+result);
flag = true;
}
}
}

class btnEqual implements ActionListener{

private calculator adaptee;

btnEqual(calculator adaptee){
this.adaptee=adaptee;
}

public void actionPerformed(ActionEvent e){
adaptee.btnEqual_actionPerformed(e);
}
}
}

////calculator.html文件代码

<html>
<head><title>计算器</title></head>
<center>
<applet code=calculator.class width=300 height=300>
</applet>
</center>
</html>

以上只要有java运行环境JDK,将calculator.java文件编译,然后建一文本文件,直接运行calculator.html就可以看到效果

//界面

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class computor
{

private JFrame jf = null;
private JButton jbadd, jbsub, jbmutil, jbdiv, jbequal, jbdot, jbcr;
private JTextField jexpression;
private JButton jb[] = new JButton[10];
private Font newfnt;
private Font oldfnt;

public computor(){

newfnt = new Font(null, Font.BOLD, 30);
//expfnt = new Font(null, Font.BOLD, 20);

jexpression = new JTextField("");
jexpression.setHorizontalAlignment(JTextField.RIGHT);
//jexpression.setFont(expfnt);

for(int index=0; index<10; index++)
{
jb[index] = new JButton(index+"");
jb[index].addActionListener(new ExpressionButtonHandler());
jb[index].addMouseListener(new EnterOutHandle());
//jb[index].setFont(fnt);
}

oldfnt = jb[0].getFont();

jbequal = new JButton("=");
jbequal.addActionListener(new ResultButtonHandler());
//jbequal.setFont(fnt);

jbdot = new JButton(".");
jbdot.addActionListener(new ExpressionButtonHandler());
//jbdot.setFont(fnt);

jbadd = new JButton("+");
jbadd.addActionListener(new ExpressionButtonHandler());
//jbadd.setFont(fnt);

jbsub = new JButton("-");
jbsub.addActionListener(new ExpressionButtonHandler());
//jbsub.setFont(fnt);

jbmutil = new JButton("*");
jbmutil.addActionListener(new ExpressionButtonHandler());

//jbmutil.setFont(fnt);

jbdiv = new JButton("/");
jbdiv.addActionListener(new ExpressionButtonHandler());
//jbdiv.setFont(fnt);

jbcr = new JButton("CR");
jbcr.addActionListener(new CRButtonHandler());
//jbcr.setFont(fnt);

jf = new JFrame();
jf.setTitle("Swing计算器");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(400, 200);
jf.setLocation(100, 200);
jf.setLayout(new BorderLayout()); //总体布局

JPanel jptop = new JPanel(new GridLayout(1,2));
jptop.add(jexpression);
jptop.add(jbcr);

JPanel jpdown = new JPanel(new GridLayout(4,4));
jpdown.add(jb[1]);
jpdown.add(jb[2]);
jpdown.add(jb[3]);
jpdown.add(jbadd);
jpdown.add(jb[4]);
jpdown.add(jb[5]);
jpdown.add(jb[6]);
jpdown.add(jbsub);
jpdown.add(jb[7]);
jpdown.add(jb[8]);
jpdown.add(jb[9]);
jpdown.add(jbmutil);
jpdown.add(jbdot);
jpdown.add(jb[0]);
jpdown.add(jbequal);
jpdown.add(jbdiv);

Container ca = jf.getContentPane();
ca.add(jptop, BorderLayout.NORTH);
ca.add(jpdown, BorderLayout.CENTER);

jf.show();

}

//定义事件处理类
private class ExpressionButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JButton jbut = (JButton)e.getSource();
String exp = jexpression.getText();
exp = exp + jbut.getText();
jexpression.setText(exp);
}
}

//定义事件处理类
private class CRButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jexpression.setText("");
}
}

public class EnterOutHandle implements MouseListener
{
public void mousePressed(MouseEvent e){
}

public void mouseReleased(MouseEvent e){
}

public void mouseEntered(MouseEvent e){
JButton jbsource = (JButton)e.getSource();
jbsource.setFont(newfnt);
}

public void mouseExited(MouseEvent e){
JButton jbsource = (JButton)e.getSource();
jbsource.setFont(oldfnt);

}

public void mouseClicked(MouseEvent e){
}
}

//定义事件处理类
private class ResultButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String exp = jexpression.getText();
//利用expression类来计算结果
expression expr = new expression(exp);
double re = 0;
try{
re = expr.getResult();
}catch(IllegalExpressionException le)
{
JOptionPane.showMessageDialog(jf, le.toString());
}

jexpression.setText(re + "");
}
}

public static void main(String[] args)
{
computor jf = new computor();

}
}

/*.从命令行接收一个表达式,计算该表达式的值。 简单的+ - * / %
java work3 1+2
javac work3

特殊:单独一个*的参数,系统会将当前目录下的所有的文件名作为参数
因此要求所有的表达式不要有空格,若有空格,则必须用""括起来
*/

class IllegalExpressionException extends Exception{
public IllegalExpressionException(String exp){
super(exp);
}
}

public class expression{
public String exp = null, texp = null;
public String op1, op2;
public String operator;

public expression(String exp){
this.exp = new String(exp);
texp = new String(exp);
op1 = new String();
op2 = new String();
operator = new String();
}

public void setExpression(String exp){
this.exp = new String(exp);
texp = new String(exp);
op1 = new String();
op2 = new String();
operator = new String();
}

public String getExpression(){
return exp.toString();
}

private void getOp1(){
int index = 0;
for(index=0; index<texp.length(); index++)
{
char c = texp.charAt(index);
if ((c>='0' && c<='9') || (c=='.') || (c=='e')|| (c=='E'))
{}
else
break;
}

op1 = texp.substring(0, index);
texp = texp.substring(index); //删除op1部分
}

private void getOp2(){
//必须要先解析op1, operator
op2 = new String(texp);
}

private void getOperator(){
int index = 0;
for(index=0; index<texp.length(); index++)
{
char c = texp.charAt(index);
if ((c>='0' && c<='9') || (c=='.'))
break;
}

operator = texp.substring(0, index);
texp = texp.substring(index); //删除op1部分
}

public double getResult() throws IllegalExpressionException
{
getOp1();
getOperator();
getOp2();
//对获取到的参数和运算符进行转换
double re = 0;
double dop1, dop2;
char c = ' ';

//获取运算符

try{
dop1 = Double.parseDouble(op1);
dop2 = Double.parseDouble(op2);
}catch(NumberFormatException e)
{
throw new IllegalExpressionException("错误的操作数");
}

operator = operator.trim();
if (operator.length()!=1)
{
throw new IllegalExpressionException("错误的运算符");
}

c= operator.charAt(0);

switch(c){
case '+': re = dop1 + dop2; break;
case '-': re = dop1 - dop2; break;
case '*': re = dop1 * dop2; break;
case '/': re = dop1 / dop2; break;
default: throw new IllegalExpressionException("错误的运算符");
}

return re;
}

public static void main(String[] argvs){

expression e = new expression("3.1 + 4+");
try{
System.out.println(e.getResult());
System.out.println(e.op1);
System.out.println(e.operator);
System.out.println(e.op2);

System.out.println(e.getExpression());
}
catch(IllegalExpressionException ee)
{
System.out.println(ee.toString());
}

}

}


一个java项目中的软件环境、硬件环境、开发工具具体指的什么啊_百度知...
软件环境:在Java项目中,软件环境通常涉及数据库系统(如MySQL、SQL Server)、中间件(如Apache Tomcat、Oracle WebLogic、IBM WebSphere)、操作系统(如Windows、Unix(AIX、Solaris)、各种版本的Linux),以及Java虚拟机(JVM),它是Java程序运行的基础,而操作系统对JVM的运行影响相对较小。硬件环境:...

在控制台运行一个Java程序,使用的命令正确的是( )。 A.java Test.java...
C.java Te。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象...

简述java项目搭建的过程?
1.简述如何搭建Java程序的运行环境?目录方法1:编写你的第一个Java程序要开始用Java编写程序,先设置你的工作环境。任何一种类似记事本的程序都能够用于Java编程。一:用记事本:1:在电脑上配置好环境变量。在记事本里写好代码后将后缀名.txt改为.java2:打开DOS,找到当前文件后,输入:(编译)javac...

怎么用java编写一个程序?
为了在您的机器上配置起一个Java开发环境——您将使用一个“开发环境”来“开发”(编写)程序——您需要完成以下这些步骤:1.下载一个包含Java开发环境(编译器和其他工具)的大文件。点击“下载J2SE SDK”链接下载SDK(软件开发工具包)软件。网页会显示一个许可协议。点击“接受”。选择您的操作系统,...

如何用Eclipse建立一个Java应用程序
方法如下:点击eclipse菜单栏中的file -- new --java project。在弹出界面中输入project name,最后直接点击finish按钮即可新建一个java工程。在新建的java程序中右键点击src--选择new -- 选择class。在弹出界面中输入 name,点击finish,即可新建一个java代码。在新建的java代码中输入如下代码,在代码编辑...

java结构(java结构体定义)
由四方面组成:\\x0d\\x0a(1)Java编程语言\\x0d\\x0a(2)Java类文件格式\\x0d\\x0a(3)Java虚拟机\\x0d\\x0a(4)Java应用程序接口\\x0d\\x0a当编辑并运行一个Java程序时,需要同时涉及到这四种方面。一个简单的java程序由java包(如:importjava.awt.*)、类声明、变量、构造方法(可缺省...

如何运行一个java程序
详情请查看视频回答

如何运行一个JAVA程序
3.3 在主类选择面板,第一个Search by Name页面可以自动搜索出已编译过的主类。如果此java程序从未编译,则必须在Project页面手动指定。3.4 注意到含有主类文件的类名定义行和主函数定义行左侧均有一个绿色的箭头,单击任意一个箭头,选择在下拉列表里选择第一项Run,就可以快捷地运行java程序了,...

用JAVA语言编写一个程序,要求如下:
import java.util.Scanner;public class T {public static void main(String[] args) throws Exception {Scanner in = new Scanner(System.in);int difficulty;\/\/难度int mode;\/\/运算类型int answer;\/\/答案int amount;\/\/挑战题目数量int score = 0;\/\/得分System.out.println("请输入难度(1:一...

用java编写一个程序?
Java是一门计算机编程语言,面向对象的编程语言。Java可以开发后端,有spring,springmvc,springboot,springcould等等都是使用Java开发。Java也有前端框架,有Jquery,JavaScript,JSP,Servlet,统称JavaWEB开发。使用Java编写一个程序很简单,按照相关的模板,加上业务代码就可以实现一套系统。

瓮安县15880369701: 求一个简单java程序代码,谢谢 -
江些盐酸: public class TestStar { public static void main(String[] args) { String star = "*"; for (int i = 0; i < 5; i++) { if (i == 0) { System.out.print(" " + star); System.out.println(); } if (i == 1) { for (int z = 0; z < 4; z++) { System.out.print(" " + star); } System.out....

瓮安县15880369701: 求一个java程序 -
江些盐酸: public static void main(String[] args) { int random = -1; Scanner sc = new Scanner(System.in); while (true) { // 生成随机数据,用于游戏开始或重新开始 if (random == -1) { random = (int) (Math.random() * 10); System.out.println(random); } System.out...

瓮安县15880369701: 求一个java程序.十万火急! -
江些盐酸: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.swing.JOptionPane;/** * 复...

瓮安县15880369701: 求一个JAVA程序(尽量简单)
江些盐酸: public class test extends java.applet.Applet {public void init() {setLayout(new java.awt.GridLayout(2, 1));final javax.swing.JLabel l = new javax.swing.JLabel();add(l);javax.swing.JButton b = new javax.swing.JButton("开始");b.addActionListener...

瓮安县15880369701: 求一个最最最简单的完整的java程序 -
江些盐酸: public class Test {public static void main(String[] args){ System.out.println("仅输出你好");} }

瓮安县15880369701: 跪求一个简单的java程序
江些盐酸: 包名:myJava 文件名:MyDemo.java 文件内容如下: package myJava; import java.io.*; public class MyDemo { public static void main(String args[]) { int m,n; System.out.print("请输入学生数目:"); m = InputClass.getInt();//学生数目 ...

瓮安县15880369701: 求JAVA程序代码 -
江些盐酸: import java.awt.Button;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.C

瓮安县15880369701: 求一非常简单的java 程序? -
江些盐酸: 第一题:import java.util.Scanner; public class CountDate { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("解放军战士连续作战的小时数:"); int hours = s.nextInt(); System.out.print("解放...

瓮安县15880369701: 求编写一个Java程序 -
江些盐酸: 无穷大分正无穷大和负无穷大,分别用Double.POSITIVE_INFINITY和Double.NEGATIVE_INFINITY表示.大致代码如下 boolean CompareDoube(double x,double y) { if(x==null)return y==null; if(x==Double.POSITIVE_INFINITY)return y==Double.POSITIVE_INFINITY; if(x==Double.NEGATIVE_INFINITY)return y==Double.NEGATIVE_INFINITY; return x==y; }

瓮安县15880369701: 求一个自己编写的java程序,不要网上下的,不要太难也不要太简单 -
江些盐酸: import java.util.Calendar; import java.util.GregorianCalendar; public class TestA { public static void main(String[] args) { GregorianCalendar d = new GregorianCalendar(); //获取今天是这个月的几号 int today = d.get(Calendar.DAY_OF_MONTH...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网