可否给出一个java基础项目一试?

littlev19 2005-10-29 03:05:14
能不能给JAVA刚学不久的一个小项目?经典一些的好。
可否给出一个java基础项目一试?
...全文
496 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yy80680169 2005-11-10
  • 打赏
  • 举报
回复
虽然简单了点

/*******************************************************************************
* 项目:计算器 语言:Java 工具:JCreator 作者: QQ403170387 时间:2005.10.10
******************************************************************************/

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

/* 类Calculator为主类实现main方法 */
class Calculator extends JFrame
{
public Calculator()
{
super("计算器");
setSize(300, 240);
Container contentPane = getContentPane();
contentPane.add(new CalculatorPanel());
}

public static void main(String[] args)
{
Calculator cal = new Calculator();
cal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cal.setVisible(true);
}
}
//---------------------------------

class CalculatorPanel extends JPanel
{

private static boolean descv = true;

private static String d;

private static double a, b, c;
private static boolean isfir=true;

private JLabel displayLabel = new JLabel("0");

private JPanel northPanel = new JPanel();

private JPanel centerPanel = new JPanel();

private JButton backButton= new JButton("BackSpace");

public CalculatorPanel() {

setLayout(new BorderLayout());
add(northPanel, BorderLayout.NORTH);
add(centerPanel);

northPanel.setLayout(new BorderLayout());
northPanel.add(displayLabel);
northPanel.add(backButton, BorderLayout.EAST);
centerPanel.setLayout(new GridLayout(4, 4, 3, 3));

InsertAction in = new InsertAction();
CommandAction co = new CommandAction();
backButton.addActionListener(in);

final String s[] = { "7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3",
"-", "0", ".", "=", "+" };
final ActionListener[] a = { in, in, in, co, in, in, in, co, in, in, in, co,
in, in, co, co };
for (int count = 0; count < a.length; count++)
addButton(s[count], a[count]);

}

private void addButton(String lable, ActionListener listener)
{
JButton button = new JButton(lable);
button.addActionListener(listener);
centerPanel.add(button);
}


private class InsertAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
String a = displayLabel.getText().trim();

if (str.equals("BackSpace"))
{
String aa = a.substring(0,a.length()-1);

displayLabel.setText(aa);
if (aa.indexOf('.') != -1)
descv = false;
else
descv = true;
}
else if (str.equals("."))
{

if (a.equals("0"))
{
displayLabel.setText("0.");
descv = false;
}
else if (descv == true)
{
displayLabel.setText(displayLabel.getText() + ".");
descv = false;
}

} else if (a.equals("0")) {
displayLabel.setText(str);
} else {
displayLabel.setText(displayLabel.getText() + str);
}
}


}


private class CommandAction implements ActionListener
{
boolean booladd = true, booldele = true, boolmult = true,
booldivi = true;
boolean[] bool = { booladd, booldele, boolmult, booldivi };

public void actionPerformed(ActionEvent e)
{

String[] s1 = { "+", "-", "*", "/" };

Add add = new Add();
Dele dele = new Dele();
Mult mult = new Mult();
Divi divi = new Divi();
Calculate[] calculate = { add, dele, mult, divi };

for (int count = 0; count < s1.length; count++)
{

if (e.getActionCommand().equals(s1[count]))
{
isfir=true;
d = e.getActionCommand();
a = Double.parseDouble(displayLabel.getText());
displayLabel.setText("");

if (displayLabel.getText().indexOf('.') != -1)
descv = false;
else
descv = true;
}

if (e.getActionCommand().equals("=") && s1[count].equals(d))
{
if ( isfir == true)
{
b = Double.parseDouble(displayLabel.getText().trim());
isfir=false;
}
if (bool[count] == true)
{
c = calculate[count].calc(a, b);
bool[count] = false;
} else {
c = calculate[count].calc(c, b);
}

if ((int) c == c)
displayLabel.setText("" + (int) c);
else
displayLabel.setText("" + c);
}
}

if (displayLabel.getText().indexOf('.') != -1)
descv = false;
else
descv = true;

}
}
}

abstract class Calculate {
abstract double calc(double d1, double d2);
}

class Add extends Calculate {
double calc(double d1, double d2) {
return d1 + d2;
}
}

class Dele extends Calculate {
double calc(double d1, double d2) {
return d1 - d2;
}
}

class Mult extends Calculate {
double calc(double d1, double d2) {
return d1 * d2;
}
}

class Divi extends Calculate {
double calc(double d1, double d2) {
return d1 / d2;
}
}
//来自QQ:403170387的空间(QQ-ZONE)
littlev19 2005-11-10
  • 打赏
  • 举报
回复
up...
laodabest 2005-11-05
  • 打赏
  • 举报
回复
你可以去网上找一个小项目的代码,自己研究看看
torrentme 2005-11-05
  • 打赏
  • 举报
回复
我这种入门级人物
就是需要高手给个
方向上的 指点
zhuyan911 2005-11-05
  • 打赏
  • 举报
回复
可以给个思路么?
没做个东西
不知道从哪下手
GoFly_All 2005-11-05
  • 打赏
  • 举报
回复
..........
addua 2005-11-01
  • 打赏
  • 举报
回复
.......................................
ianok 2005-10-31
  • 打赏
  • 举报
回复
up
bright_wish 2005-10-30
  • 打赏
  • 举报
回复
昨天老师作业是写一个计算器 我现在就是不晓得怎么写 后退 了
bright_wish 2005-10-30
  • 打赏
  • 举报
回复
我们现在做记事本和socket聊天程序!!马上又做一个海鲜超市关系系统
ponzmd 2005-10-29
  • 打赏
  • 举报
回复
我做的那时一个彩票管理及自动选号的东西,做的一踏糊涂。^_^
guileen 2005-10-29
  • 打赏
  • 举报
回复
做一个连连看,或者对对碰的单机版,或者魂斗罗
过瘾啊,做游戏开发有意思,数据库最无聊了,NND
littlev19 2005-10-29
  • 打赏
  • 举报
回复
可以把你的代码公布出来学习一下吗?
f_acme 2005-10-29
  • 打赏
  • 举报
回复
我一开始写的是一个记事本的程序,支持多文档打开,网络传输当前编辑的文本,发送信息给某人等功能,突破Windows自带记事本重做和撤销只能一次的限制等等功能.
当然有些功能好像没有什么必要,不过我们目的是锻炼一下,所以随便添加一些功能还是可以的.
littlev19 2005-10-29
  • 打赏
  • 举报
回复
谢谢。但是可以分解一下说吗?
就是步骤,实例上来也行。
shangxiao15 2005-10-29
  • 打赏
  • 举报
回复
雷电,俄罗斯方块,要不就做一个仓库管理什么的.
yinxiaoyi5858 2005-10-29
  • 打赏
  • 举报
回复
可以做一个酒店管理系统,或电子书店管理系统!

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧