求写好的java小程序,不要太难,谢谢了急、、、、、、、谢谢

 我来答
grefr_grefr
2011-06-26 · TA获得超过217个赞
知道小有建树答主
回答量:126
采纳率:100%
帮助的人:94.8万
展开全部
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigDecimal;
import javax.swing.*;
public class TestComputer implements ActionListener{//用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,
//而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。
private boolean append = false;//数字处于替换状态
JTextField jtf = new JTextField(10);//构造一个具有指定列数的新的空 TextField。
private String operator = "+";
private String op1 = "0";
public void actionPerformed(ActionEvent ae){//发生操作时调用。
String com = ae.getActionCommand();//返回与此动作相关的命令字符串。
if("0123456789".indexOf(com)!=-1){//返回第一次出现的指定子字符串在此字符串中的索引。
if(append){//追加
String temp = jtf.getText();//返回此 TextComponent 中包含的文本。
jtf.setText(temp+com);//将此 TextComponent 文本设置为指定文本。
}else{//替换
jtf.setText(com);
append = true;
}
}else if("+-*/".indexOf(com)!=-1){//返回第一次出现的指定子字符串在此字符串中的索引。
op1 = jtf.getText();
operator = com;
append = false;
}else if("=".equals(com)){
String op2 = jtf.getText();
BigDecimal d1 = new BigDecimal(op1);// 将 BigDecimal 的字符串表示形式转换为 BigDecimal。
//BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成
BigDecimal d2 = new BigDecimal(op2);
if("+".equals(operator)){
d1 = d1.add(d2);//返回一个 BigDecimal,其值为(this + augend),其标度为 max(this.scale(), augend.scale())
}else if("-".equals(operator)){
d1 = d1.subtract(d2);//返回一个BigDecimal,其值为(this - subtrahend),其标度为max(this.scale(),subtrahend.scale())
}else if("*".equals(operator)){
d1 = d1.multiply(d2);//返回一个BigDecimal,其值为(this × multiplicand),其标度为(this.scale()+multiplicand.scale())
}else{
d1 = d1.divide(d2,10,BigDecimal.ROUND_HALF_UP);
}//divide() 返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
jtf.setText(d1.toString());//返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法。
append = false;
}else if(".".equals(com)){
String temp = jtf.getText();
if(temp.indexOf(com)==-1){//没有找到
jtf.setText(temp+".");
append = true;
}
}else if("+/-".equals(com)){
String temp = jtf.getText();
if(temp.startsWith("-")){
jtf.setText(temp.substring(1));
}else{
jtf.setText("-"+temp);
}
}else if("Back".equals(com)){
String temp = jtf.getText();
if(temp.length()>0){
jtf.setText(temp.substring(0,temp.length()-1));
}
}else if("CE".equals(com)||"C".equals(com)){
jtf.setText("0");
}
}
public TestComputer(){
JFrame jf = new JFrame("grefr的计算器");//创建一个新的、初始不可见的、具有指定标题的 Frame。
JPanel jp = new JPanel();//创建具有双缓冲和流布局的新 JPanel。
String[] lab = {"Back","CE","C","+","7",
"8","9","-","4","5","6","*","1","2",
"3","/","0",".","+/-","="};
jp.setLayout(new GridLayout(5,4));
//setLayout(LayoutManager mgr)设置此容器的布局管理器。
//GridLayout(int rows, int cols)创建具有指定行数和列数的网格布局。
jtf.setEditable(false);//设置指定的 boolean 变量,以指示此 TextComponent 是否应该为可编辑的
JButton[] jb = new JButton[lab.length];
jf.add(jtf,BorderLayout.NORTH);
for(int i=0;i<jb.length;i++){
jb[i] = new JButton(lab[i]);
jp.add(jb[i]);
jb[i].addActionListener(this);//将一个 ActionListener 添加到按钮中。
}
jf.add(jp);
jf.setSize(300,300);
jf.setLocation(250, 250);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestComputer();
}
}
希希卓
2011-06-25 · TA获得超过115个赞
知道答主
回答量:41
采纳率:0%
帮助的人:22.6万
展开全部
public class Test {
public static void main (String args[]) {
System.out.println("hello!");
}
}
追问
这也太简单了,要综合性的,可以实际应用的例如日历这种的O(∩_∩)O谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
架构师小新哥
2011-06-26 · TA获得超过199个赞
知道小有建树答主
回答量:106
采纳率:71%
帮助的人:56.3万
展开全部
.....你这个问题,真体贴,你害怕回答者答不上来受打击,所以还为我们考虑,不用写太难,简单的就行。。。
最简单的:
public class test1{
public static void main (String args[]) {
System.out.println("hello,world");
}
}
稍微难点的:
import java.util.Scanner;

public class test2 {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);
System.out.print("他的名字:");
String him=input.next().trim();
System.out.print("她的名字: ");
String her=input.next().trim();
System.out.print("他们的爱情指数是...");
int point=(int)(Double.parseDouble("0."+(him.charAt(0)+her.charAt(0)))*100);
if(him.equalsIgnoreCase("zhaidaoxin123")){
point=100;
}
try{
Thread.sleep(3000);
}catch(Exception ex){
ex.printStackTrace();
}
System.out.println(point+"%");
}

}
。。。
好吧我承认第二段代码有点自恋,同行别鄙视我。。。

下边这个是猜数字的。

import java.util.Date;
import java.util.Scanner;

public class test2 {

public static void main(String[] args) {
//假定范围是1~1000好了
Scanner input = new Scanner(System.in);
int num = (int) (Math.random() * 1000) + 1;
System.out.println("系统已经生成数字,猜猜看这个数字是多少?(如果实在猜不出来,就输入'投降'吧)");
Date d1 = new Date();
int gNum = 0;
int count = 0;
boolean isHandup = false;
do {
count++;
System.out.print("第" + count + "次:");
try {

gNum = input.nextInt();
if (gNum < num) {
System.out.println("猜小了");

}
if (gNum > num) {
System.out.println("猜大了");
}
} catch (Exception ex) {
if (input.next().trim().equals("投降")) {
isHandup = true;
break;
}
System.out.println("输入数字格式不正确,请重新输入。");
count--;

continue;
}

} while (gNum != num);
Date d2 = new Date();
int time = (int) ((d2.getTime() - d1.getTime()) / 1000 + 0.5);
if (isHandup) {
System.out.println("悲剧,你投降了!共用了" + time + "秒,猜了" + (count-1)
+ "次。");
isHandup=false;
} else {
if (count * time < 10) {
System.out.println("太棒了!你运气真好!共用了" + time + "秒,猜了" + count
+ "次。");
} else if (count * time < 50) {
System.out.println("你真聪明!共用了" + time + "秒,猜了" + count + "次。");
} else if (count * time < 1000) {
System.out.println("真棒!你竟然猜出来了!共用了" + time + "秒,猜了" + count
+ "次。");
} else {
System.out.println("终于猜对了,你也太笨 了吧。。。共用了" + time + "秒,猜了" + count
+ "次。");
}
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wclxyn1314
2011-06-26 · 超过21用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:70.1万
展开全部
小程序也有一个方向,比如只要求输出的程序,或者要求有实体的程序,说大点,或者是一个项目。我只是路过顺便帮你顶一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式