• 大小: 2.29MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-16
  • 语言: Java
  • 标签: 24点游戏  

资源简介

用java编24点游戏,完全图形化界面,整个游戏又四个不同的版块构成,最后集成到一块,非常棒的游戏源码,值得参考。

资源截图

代码片段和文件信息

//import javax.swing.JOptionPane;		//测试时使用正式编译时无用
import java.util.StringTokenizer;
import java.util.Arrays;

public class Calculateexpression {
private String expression;
private boolean isCorrect;
private double result;
/** 该对象拥有3个私有变量因经常需使用故在此定义
expression用于记录表达式
isCorrect表示表达式是否规范
result表达式计算结果

其次该对象拥有以下方法供外部调用
setexpression(String<表达式>)
输入表达式无返回
getexpression()
返回表达式类型为String
isCorrect()
返回表达式是否规范类型为boolean
isCorrect(int<数字个数>)
返回表达式是否规范此时式中的数字个数也为判断依据类型为boolean
getNumbers()
返回表达式中数字类型为int[]
getResult()
返回表达式的计算结果类型为int
getDoubleResult()
返回表达式的计算结果类型为double
compareNumbers(int[]<需对比的数组>)
比较表达式中的数字是否与给出的数相同返回类型为boolean

最后该对象拥有以下私有方法
check()
判断表达式是否规范并自动修正返回类型为boolean
(左右括号必须对齐不可省略)
calStep1()calStep2()calStep3()
计算表达式结果的三步返回类型均为double

*/

/** 用于测试的main方法正式编译时无用 **
public static void main(String[] args) {
Calculateexpression n=new Calculateexpression();
String s=JOptionPane.showInputDialog(null“请输入表达式““Test2“JOptionPane.QUESTION_MESSAGE);
if (s==null) {
System.exit(0);
}
n.setexpression(s);
//JOptionPane.showMessageDialog(nulln.getexpression()“Test2“JOptionPane.INFORMATION_MESSAGE);
if (!n.isCorrect())
//if (!n.isCorrect(4))
JOptionPane.showMessageDialog(null“表达式有误““Test2“JOptionPane.INFORMATION_MESSAGE);
//int[] num=n.getNumbers();
//JOptionPane.showMessageDialog(null““+num[0]+““+num[1]+““+num[2]+““+num[3]“Test2“JOptionPane.INFORMATION_MESSAGE);
//int result=n.getResult();
double result=n.getDoubleResult();
JOptionPane.showMessageDialog(null“计算式的答案为“+result“Test2“JOptionPane.INFORMATION_MESSAGE);
}
*/
/** 初始化对象Calculateexpression() */
public Calculateexpression() {
expression=““;
isCorrect=false;
}

/** setexpression(String<表达式>)输入表达式 */
public void setexpression(String input) {
expression=input;
isCorrect=check();
//JOptionPane.showMessageDialog(nullexpression“Test2“JOptionPane.INFORMATION_MESSAGE);
if (isCorrect) {
result=calStep1();
} else
result=0;
}

/** getexpression()输出表达式 */
public String getexpression() {
return expression;
}

/** check()判断表达式规范与否并自动修正 */
private boolean check() {
char ttt=expression.charAt(0);
int sum=0add=0; //计算左右括号计算修正位数
boolean hasNum=false;
StringBuffer s=new StringBuffer(expression);
if (tt==‘+‘ || tt==‘-‘ || tt==‘.‘) {
s.insert(0‘0‘);
add++;
} else
if (tt==‘)‘ || tt==‘*‘ || tt==‘/‘) {
return false;
}
for (int i=0; ipression.length(); i++) {
t=tt;
if (i!=expression.length()-1) {
tt=expression.charAt(i+1);
} else tt=‘E‘;
if (t>=‘0‘ && t<=‘9‘) {
hasNum=true;
if (tt==‘(‘) {
s.insert(i+add+1‘*‘);
add++;
}
} else
if (t==‘(‘) {
sum++;
if (tt==‘.‘ || tt==‘+‘ || tt==‘-‘) {
s.insert(i+add+1‘0‘);
add++;
} else
if (tt==‘*‘ || tt==‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

----------- ---------  ---------- -----  ----

              2644939                    177


评论

共有 条评论