java object equalsx.equals问题,求大神解答

跪求大神解答,急急急_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:502,430贴子:
跪求大神解答,急急急收藏
这段程序在JCreator上,编译没有问题,运行不行,求大神解答!import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*public class Calculator {public static void main(String args[]){double pi=Math.PI;}
public Calculator() {
public class Calculator extends JFrame implements ActionListener {double π=Math.PI;String s[]={ &7&, &8&, &9&, &÷&, &√&, &4&, &5&, &6&, &×&, &%&, &1&, &2&, &3&, &-&, &1/x&, &0&, &+/-&, &.&, &+&, &=& }; String b[]={ &←&, &CE&, &C& };
String M[]={&sin&, &cos&, &tan& };
JButton keys[] = new JButton[s.length];
JButton commands[] = new JButton[b.length];
JButton m[] = new JButton[M.length];
JTextField resultText = new JTextField(&0&);
boolean firstDigit =
double resultNum = 0;
String operator = &=&;
boolean operateValidFlag =
//构造函数
public Calculator() {
/*super();
this.setTitle(&计算器&);
this.setResizable(false); this.pack();
//初始化计算器
void init() {
resultText.setHorizontalAlignment(JTextField.RIGHT);
resultText.setEditable(false);
resultText.setBackground(Color.white);
// 初始化计算器上键的按钮,将键放在一个画板内
JPanel calckeysPanel = new JPanel();
calckeysPanel.setLayout(new GridLayout(4, 5, 5, 5));
for (int i = 0; i & s. i++) {
keys[i] = new JButton(s[i]);
calckeysPanel.add(keys[i]);
keys[i].setForeground(Color.blue);
// 运算符键颜色keys[0].setForeground(Color.black);keys[1].setForeground(Color.black);keys[2].setForeground(Color.black);keys[3].setForeground(Color.black);keys[4].setForeground(Color.black);keys[5].setForeground(Color.black); keys[6].setForeground(Color.black);keys[7].setForeground(Color.black); keys[8].setForeground(Color.black);keys[9].setForeground(Color.black);keys[10].setForeground(Color.black);keys[11].setForeground(Color.black);
keys[12].setForeground(Color.black);
keys[13].setForeground(Color.black);keys[14].setForeground(Color.black);keys[15].setForeground(Color.black);
keys[16].setForeground(Color.black);keys[17].setForeground(Color.black);
keys[18].setForeground(Color.black);
keys[19].setForeground(Color.black);
// 初始化功能键,将功能键放在一个画板内
JPanel commandsPanel = new JPanel();
// 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素
commandsPanel.setLayout(new GridLayout(1, 3, 3, 3));
for(int i=0;i&b.i++){
commands[i] = new JButton(b[i]);
commandsPanel.add(commands[i]);
commands[i].setForeground(Color.black);
// 初始化三角函数键
JPanel calmsPanel = new JPanel();
// 用网格布局管理器,5行,1列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素
calmsPanel.setLayout(new GridLayout(3, 1, 3, 3));
for (int i = 0; i & M. i++) {
m[i] = new JButton(M[i]);
calmsPanel.add(m[i]);
m[i].setForeground(Color.black);
// 下面进行计算器的整体布局,将calckeys和command画板放在计算器的中部,
// 将文本框放在北部,将calms画板放在计算器的西部。
// 新建一个大的画板,将上面建立的command和calckeys画板放在该画板内
JPanel panel1 = new JPanel();
// 画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为3象素
panel1.setLayout(new BorderLayout(3, 3));
panel1.add(&North&, commandsPanel);
panel1.add(&Center&, calckeysPanel);
// 建立一个画板放文本框
JPanel top = new JPanel();
top.setLayout(new BorderLayout());
top.add(&Center&, resultText);
// 整体布局
getContentPane().setLayout(new BorderLayout(3, 5));
getContentPane().add(&North&, top);
getContentPane().add(&Center&, panel1);
getContentPane().add(&West&, calmsPanel);
// 为各按钮添加事件侦听器
// 都使用同一个事件侦听器,即本对象。本类的声明中有implements ActionListener
for (int i = 0; i & s. i++) {
keys[i].addActionListener(this);
for (int i = 0; i & b. i++) {
commands[i].addActionListener(this);
for (int i = 0; i & M. i++) {
m[i].addActionListener(this);
/*处理事件*/
public void actionPerformed(ActionEvent e) {
// 获取事件源的标签
String label = e.getActionCommand();
if (label.equals(b[0])) {
// 用户按了&←&键
handleBackspace();
else if (label.equals(b[1])) {
// 用户按了&CE&键
resultText.setText(&0&);
else if (label.equals(b[2])) {
// 用户按了&C&键
handleC();
else if (&.&.indexOf(label)&=0) {
// 用户按了数字键或者小数点键
handleNumber(label);
// handlezero(zero);
// 用户按了运算符键
handleOperator(label);
/*处理←键被按下的事件*/
/*private*/ void handleBackspace(){
String text = resultText.getText();
int i=text.length();
text=text.substring(0,i-1);
if(text.length()==0){
resultText.setText(&0&);
firstDigit=
operator=&=&;
resultText.setText(text);
/* 处理数字键被按下的事件*/
/*private*/ void handleNumber(String key) {
if (firstDigit) {
resultText.setText(key);
else if ((key.equals(&.&)) && (resultText.getText().indexOf(&.&) & 0)) {
resultText.setText(resultText.getText() + &.&);
else if(!key.equals(&.&)){
resultText.setText(resultText.getText()+key);
firstDigit =
/*处理C键被按下的事件*/
/*private*/ void handleC() {
resultText.setText(&0&);
firstDigit =
operator = &=&;
/*从结果文本框中获取数字*/
/* private*/ double getNumberFromText(){
double result=0;
result=Double.valueOf(resultText.getText()).doubleValue();
catch(NumberFormatException e){
public static void main(String args[]){
Calculator calculator1=new Calculator();
calculator1.setVisible(true);
calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*处理运算符键被按下的事件*/
/*private*/ void handleOperator(String key){
if(operator.equals(&÷&)){
// 除法运算
if(getNumberFromText()==0){
// 操作不合法
operateValidFlag =
resultText.setText(&除数不能为零&);
resultNum/=getNumberFromText();
else if(operator.equals(&1/x&)){
// 倒数运算
if(resultNum==0){
// 操作不合法
operateValidFlag =
resultText.setText(&零没有倒数&);
resultNum=1/resultN
else if(operator.equals(&+&)){
resultNum+=getNumberFromText();
else if(operator.equals(&-&)){
resultNum -= getNumberFromText();
else if(operator.equals(&×&)){
// 乘法运算
resultNum*=getNumberFromText();
else if(operator.equals(&sqrt&)){
resultNum=Math.sqrt(resultNum);
else if(operator.equals(&%&)){
resultNum=resultNum / 100;
else if(operator.equals(&+/-&)){
resultNum=resultNum *(-1);
else if(operator.equals(&sin&)){
resultNum=Math.sin(Math.toRadians(getNumberFromText()));
else if(operator.equals(&cos&)){
resultNum=Math.cos(Math.toRadians(getNumberFromText()));
else if(operator.equals(&tan&)){
resultNum=Math.tan(Math.toRadians(getNumberFromText()));
else if(operator.equals(&=&)){
// 赋值运算
resultNum=getNumberFromText();
if(operateValidFlag){
// 双精度浮点数的运算
double t2;
t1=(long)resultN
t2=resultNum-t1;
if(t2==0){
resultText.setText(String.valueOf(t1));
resultText.setText(String.valueOf(resultNum));
// 运算符等于用户按的按钮
operator =
firstDigit =
operateValidFlag =
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或java问题~求大神解答!_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:502,430贴子:
java问题~求大神解答!收藏
class HelloA {public HelloA() {System.out.println(&HelloA&);}{System.out.println(&I'm A class&);}static {System.out.println(&static A&);}}public class HelloB extends HelloA {public HelloB() {System.out.println(&HelloB&);}{System.out.println(&I'm B class&);}static {System.out.println(&static B&);}public static void main(String[] args) {new HelloB();}}这个程序的输出结果是:static Astatic BI'm A classHelloAI'm B classHelloB为什么是I'm A class在前HelloA在后啊?为什么不是HelloA在前I'm A class在后这样的顺序啊?求解答!
想了解java 源码?就上猪八戒网找正规公司,在线报价,价比三家!至少3套网站开发方案,在线对比,高端低价,大平台,有保障,满意付款!
大神出来吧!!!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或equals方法的问题?
[问题点数:0分]
equals方法的问题?
[问题点数:0分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。JAVA编程小题目,求大神帮忙解答看看,谢谢!_百度知道x1.equals(x2)==ture以下说法错误的是();_百度知道

我要回帖

更多关于 java重写equals方法 的文章

 

随机推荐