import javax.swing.*;

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的柯橋網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
import java.awt.*;
import java.awt.event.*;
import java.math.*;
public class HomeWork61 extends JFrame
{
JTextField memory=new JTextField();
JTextField number=new JTextField();
String before=new String();//存儲(chǔ)沒(méi)輸入完的數(shù)
String first=new String();//第一個(gè)數(shù)
String second=new String();//第二個(gè)數(shù)
String symbol=new String();//存儲(chǔ)運(yùn)算符號(hào)
String remember=new String();
int point;//點(diǎn)過(guò)小數(shù)點(diǎn)否
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s=e.getActionCommand();
if(s=="1"||s=="2"||s=="3"||s=="4"||s=="5"||s=="6"||s=="7"||s=="8"||s=="9"||s=="0"||s==".")
{
if(s!=".")
before=before+s;
else
if(point==0)
{
before=before+s;
point=1;
}
number.setText(before);
}
else
if(s=="+"||s=="-"||s=="*"||s=="/")
{
if(first=="")
first=before;
else
{
second=before;
String result=new String();
double finalnumber=0;
if(symbol=="+")
finalnumber=Double.parseDouble(first)+Double.parseDouble(second);
if(symbol=="-")
finalnumber=Double.parseDouble(first)-Double.parseDouble(second);
if(symbol=="*")
finalnumber=Double.parseDouble(first)*Double.parseDouble(second);
if(symbol=="/")
finalnumber=Double.parseDouble(first)/Double.parseDouble(second);
if(symbol=="=")
finalnumber=Double.parseDouble(first);
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
point=0;
}
symbol=s;
before="";
point=0;
}
else
if(s=="=")
{
second=before;
before="";
String result=new String();
double finalnumber=0;
if(symbol=="+")
finalnumber=Double.parseDouble(first)+Double.parseDouble(second);
if(symbol=="-")
finalnumber=Double.parseDouble(first)-Double.parseDouble(second);
if(symbol=="*")
finalnumber=Double.parseDouble(first)*Double.parseDouble(second);
if(symbol=="/")
finalnumber=Double.parseDouble(first)/Double.parseDouble(second);
result=result.valueOf(finalnumber);
number.setText(result);
symbol="=";
first=result;
point=0;
}
if(s=="sin"||s=="cos"||s=="tan")//三角函數(shù)
{
if(first=="")
first=before;
before="";
String result=new String();
double finalnumber=0;
if(s=="sin")
finalnumber=Math.sin(Double.parseDouble(first));
if(s=="cos")
finalnumber=Math.cos(Double.parseDouble(first));
if(s=="tan")
finalnumber=Math.tan(Double.parseDouble(first));
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
symbol="=";
point=0;
}
if(s=="+/-")//正負(fù)轉(zhuǎn)換
{
if(first=="")
{
first=before;
before="";
String result=new String();
double finalnumber=Double.parseDouble(first);
finalnumber=-finalnumber;
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
symbol="=";
point=0;
}
else
{
String result=new String();
double finalnumber=Double.parseDouble(before);
finalnumber=-finalnumber;
result=result.valueOf(finalnumber);
number.setText(result);
before=result;
point=0;
}
}
if(s=="M+")
{
if(before!="")
{
if(remember=="")
remember=before;
else
{
double finalnumber=Double.parseDouble(remember)+Double.parseDouble(before);
remember=remember.valueOf(finalnumber);
}
before="";
point=0;
memory.setText("M");
}
}
if(s=="MR")
{
if(remember!="")
number.setText(remember);
else
number.setText("0.");
}
if(s=="MC")
{
memory.setText("");
remember="";
}
if(s=="MS")
{
if(before!="")
{
remember=before;
before="";
point=0;
memory.setText("M");
}
}
if(s=="C")//清除屏幕
{
before="";
first="";
second="";
symbol="";
point=0;
number.setText("0.");
}
}
}
public static void main(String[] args)
{
HomeWork61 myhomework=new HomeWork61("calculator");//生成對(duì)象
myhomework.setSize(400,200);//設(shè)置大小
myhomework.setVisible(true);//設(shè)置成可見(jiàn)
}
public HomeWork61(String title)
{
super(title);//設(shè)置標(biāo)題
Container cp = getContentPane();
JPanel button=new JPanel();
JPanel result=new JPanel();
remember="";
before="";
first="";
second="";
symbol="";
point=0;
JButton c=new JButton();
button.setLayout(new GridLayout(4,6));
result.setLayout(new GridLayout(1,3));
JButton[] btn=new JButton[24];
btn[0]=new JButton("sin");
btn[1]=new JButton("MC");
btn[2]=new JButton("0");
btn[3]=new JButton("1");
btn[4]=new JButton("2");
btn[5]=new JButton("+");
btn[6]=new JButton("cos");
btn[7]=new JButton("MR");
btn[8]=new JButton("3");
btn[9]=new JButton("4");
btn[10]=new JButton("5");
btn[11]=new JButton("-");
btn[12]=new JButton("tan");
btn[13]=new JButton("MS");
btn[14]=new JButton("6");
btn[15]=new JButton("7");
btn[16]=new JButton("8");
btn[17]=new JButton("*");
btn[18]=new JButton("+/-");
btn[19]=new JButton("M+");
btn[20]=new JButton("9");
btn[21]=new JButton(".");
btn[22]=new JButton("=");
btn[23]=new JButton("/");
c=new JButton("C");
for(int i=0;i24;i++)
{
btn[i].addActionListener(new buttonlistener());
button.add(btn[i]);
}
c.addActionListener(new buttonlistener());
result.add(BorderLayout.EAST,memory);
result.add(BorderLayout.CENTER,c);
result.add(BorderLayout.WEST,number);
cp.add(BorderLayout.NORTH,result);
cp.add(BorderLayout.SOUTH,button);
number.setText("0.");
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
public class HomeWork61 extends JFrame
{
JTextField memory=new JTextField();
JTextField number=new JTextField();
String before=new String();//存儲(chǔ)沒(méi)輸入完的數(shù)
String first=new String();//第一個(gè)數(shù)
String second=new String();//第二個(gè)數(shù)
String symbol=new String();//存儲(chǔ)運(yùn)算符號(hào)
String remember=new String();
int point;//點(diǎn)過(guò)小數(shù)點(diǎn)否
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s=e.getActionCommand();
if(s=="1"||s=="2"||s=="3"||s=="4"||s=="5"||s=="6"||s=="7"||s=="8"||s=="9"||s=="0"||s==".")
{
if(s!=".")
before=before+s;
else
if(point==0)
{
before=before+s;
point=1;
}
number.setText(before);
}
else
if(s=="+"||s=="-"||s=="*"||s=="/")
{
if(first=="")
first=before;
else
{
second=before;
String result=new String();
double finalnumber=0;
if(symbol=="+")
finalnumber=Double.parseDouble(first)+Double.parseDouble(second);
if(symbol=="-")
finalnumber=Double.parseDouble(first)-Double.parseDouble(second);
if(symbol=="*")
finalnumber=Double.parseDouble(first)*Double.parseDouble(second);
if(symbol=="/")
finalnumber=Double.parseDouble(first)/Double.parseDouble(second);
if(symbol=="=")
finalnumber=Double.parseDouble(first);
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
point=0;
}
symbol=s;
before="";
point=0;
}
else
if(s=="=")
{
second=before;
before="";
String result=new String();
double finalnumber=0;
if(symbol=="+")
finalnumber=Double.parseDouble(first)+Double.parseDouble(second);
if(symbol=="-")
finalnumber=Double.parseDouble(first)-Double.parseDouble(second);
if(symbol=="*")
finalnumber=Double.parseDouble(first)*Double.parseDouble(second);
if(symbol=="/")
finalnumber=Double.parseDouble(first)/Double.parseDouble(second);
result=result.valueOf(finalnumber);
number.setText(result);
symbol="=";
first=result;
point=0;
}
if(s=="sin"||s=="cos"||s=="tan")//三角函數(shù)
{
if(first=="")
first=before;
before="";
String result=new String();
double finalnumber=0;
if(s=="sin")
finalnumber=Math.sin(Double.parseDouble(first));
if(s=="cos")
finalnumber=Math.cos(Double.parseDouble(first));
if(s=="tan")
finalnumber=Math.tan(Double.parseDouble(first));
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
symbol="=";
point=0;
}
if(s=="+/-")//正負(fù)轉(zhuǎn)換
{
if(first=="")
{
first=before;
before="";
String result=new String();
double finalnumber=Double.parseDouble(first);
finalnumber=-finalnumber;
result=result.valueOf(finalnumber);
number.setText(result);
first=result;
symbol="=";
point=0;
}
else
{
String result=new String();
double finalnumber=Double.parseDouble(before);
finalnumber=-finalnumber;
result=result.valueOf(finalnumber);
number.setText(result);
before=result;
point=0;
}
}
if(s=="M+")
{
if(before!="")
{
if(remember=="")
remember=before;
else
{
double finalnumber=Double.parseDouble(remember)+Double.parseDouble(before);
remember=remember.valueOf(finalnumber);
}
before="";
point=0;
memory.setText("M");
}
}
if(s=="MR")
{
if(remember!="")
number.setText(remember);
else
number.setText("0.");
}
if(s=="MC")
{
memory.setText("");
remember="";
}
if(s=="MS")
{
if(before!="")
{
remember=before;
before="";
point=0;
memory.setText("M");
}
}
if(s=="C")//清除屏幕
{
before="";
first="";
second="";
symbol="";
point=0;
number.setText("0.");
}
}
}
public static void main(String[] args)
{
HomeWork61 myhomework=new HomeWork61("calculator");//生成對(duì)象
myhomework.setSize(400,200);//設(shè)置大小
myhomework.setVisible(true);//設(shè)置成可見(jiàn)
}
public HomeWork61(String title)
{
super(title);//設(shè)置標(biāo)題
Container cp = getContentPane();
JPanel button=new JPanel();
JPanel result=new JPanel();
remember="";
before="";
first="";
second="";
symbol="";
point=0;
JButton c=new JButton();
button.setLayout(new GridLayout(4,6));
result.setLayout(new GridLayout(1,3));
JButton[] btn=new JButton[24];
btn[0]=new JButton("sin");
btn[1]=new JButton("MC");
btn[2]=new JButton("0");
btn[3]=new JButton("1");
btn[4]=new JButton("2");
btn[5]=new JButton("+");
btn[6]=new JButton("cos");
btn[7]=new JButton("MR");
btn[8]=new JButton("3");
btn[9]=new JButton("4");
btn[10]=new JButton("5");
btn[11]=new JButton("-");
btn[12]=new JButton("tan");
btn[13]=new JButton("MS");
btn[14]=new JButton("6");
btn[15]=new JButton("7");
btn[16]=new JButton("8");
btn[17]=new JButton("*");
btn[18]=new JButton("+/-");
btn[19]=new JButton("M+");
btn[20]=new JButton("9");
btn[21]=new JButton(".");
btn[22]=new JButton("=");
btn[23]=new JButton("/");
c=new JButton("C");
for(int i=0;i24;i++)
只是一種算法,就像貼吧里經(jīng)常有,隨機(jī)選個(gè)數(shù),然后把這個(gè)數(shù)加上多少減去多少還有一些特殊步驟,然后那個(gè)樓主就說(shuō)你得到的一定是某個(gè)數(shù)。用數(shù)學(xué)的方法證明一下就可以了
getAnyBinaryString(int num,int start,int end){ //i是你要取的某個(gè)字節(jié),按數(shù)值實(shí)際存儲(chǔ)大小來(lái)賦值能取的范圍0~64表示8位到64位的可取字節(jié)即byte到long,如數(shù)值num實(shí)際只用了一字節(jié)存那么start=0,end=8也就是說(shuō)你只能取到num的第1個(gè)字節(jié),其他位都是1取出來(lái)無(wú)用不是真值,環(huán)境默認(rèn)數(shù)值為int32位0~8|8~16|16~24|24~32(表示0~3的某個(gè)字節(jié))以實(shí)際數(shù)值存儲(chǔ)所占字節(jié)大小為準(zhǔn),你可事先算下數(shù)值是幾位表示;
return (num=0?Integer.toBinaryString(num):Integer.toBinaryString(~num+1)).substring(start, end);
}
文章題目:java求整數(shù)原碼代碼 整數(shù)原碼的計(jì)算方法
本文地址:http://chinadenli.net/article18/hppigp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、外貿(mào)建站、虛擬主機(jī)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)