1. 用java製作一個程序員計算器和win7系統自帶的一樣的代碼,謝謝
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator3 extends JFrame implements ActionListener {
private boolean dotExist, operated, equaled; // 幫助運算的布爾變數
private double storedNumber; // 目前的結果
private char lastOperator; // 表示上一運算符
private JTextField operation; // 結果欄
private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 運算符
private JButton[] numbers; // 數字
// 構造者
public Calculator3() {
setTitle("Calculator");
// 初始化變數
dotExist = false; // 表示當前的數是否有小數點
operated = false; // 表示任意運算符是否被按下
equaled = false; // 表示等號是否被按下
storedNumber = 0;
lastOperator = '?';
// 初始化窗口變數
operation = new JTextField("0");
operation.setEditable(false);
numbers = new JButton[10];
for (int i = 0; i < 10; i++)
numbers[i] = new JButton("" + i);
dot = new JButton(".");
plus = new JButton("+");
minus = new JButton("-");
multi = new JButton("*");
div = new JButton("/");
sqrt = new JButton("√");
equal = new JButton("=");
changePN = new JButton("±");
clear = new JButton("AC");
// 將窗口物體放入窗口
GridBagLayout layout = new GridBagLayout();
getContentPane().setLayout(layout);
addComponent(layout, operation, 0, 0, 4, 1);
addComponent(layout, numbers[1], 1, 0, 1, 1);
addComponent(layout, numbers[2], 1, 1, 1, 1);
addComponent(layout, numbers[3], 1, 2, 1, 1);
addComponent(layout, numbers[4], 2, 0, 1, 1);
addComponent(layout, numbers[5], 2, 1, 1, 1);
addComponent(layout, numbers[6], 2, 2, 1, 1);
addComponent(layout, numbers[7], 3, 0, 1, 1);
addComponent(layout, numbers[8], 3, 1, 1, 1);
addComponent(layout, numbers[9], 3, 2, 1, 1);
addComponent(layout, dot, 4, 0, 1, 1);
addComponent(layout, numbers[0], 4, 1, 1, 1);
addComponent(layout, sqrt, 4, 2, 1, 1);
addComponent(layout, plus, 1, 3, 1, 1);
addComponent(layout, minus, 2, 3, 1, 1);
addComponent(layout, multi, 3, 3, 1, 1);
addComponent(layout, div, 4, 3, 1, 1);
addComponent(layout, equal, 5, 0, 2, 1);
addComponent(layout, changePN, 5, 2, 1, 1);
addComponent(layout, clear, 5, 3, 1, 1);
}
// 對按鈕進行反應的方法
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if (btn == clear) {
operation.setText("0");
dotExist = false;
storedNumber = 0;
lastOperator = '?';
} else if (btn == equal) {
operate('=');
equaled = true;
} else if (btn == plus) {
operate('+');
equaled = false;
} else if (btn == minus) {
operate('-');
equaled = false;
} else if (btn == multi) {
operate('*');
equaled = false;
} else if (btn == div) {
operate('/');
equaled = false;
} else if (btn == changePN) {
operate('p');
operate('=');
equaled = true;
} else if (btn == sqrt) {
operate('s');
operate('=');
equaled = true;
} else {
if (equaled)
storedNumber = 0;
for (int i = 0; i < 10; i++)
if (btn == numbers[i]) {
if (operation.getText().equals("0"))
operation.setText("" + i);
else if (!operated)
operation.setText(operation.getText() + i);
else {
operation.setText("" + i);
operated = false;
}
}
if (btn == dot && !dotExist) {
operation.setText(operation.getText() + ".");
dotExist = true;
}
}
}
// 進行運算的方法
private void operate(char operator) {
double currentNumber = Double.valueOf(operation.getText())
.doubleValue();
if (lastOperator == '?')
storedNumber = currentNumber;
else if (lastOperator == '+')
storedNumber += currentNumber;
else if (lastOperator == '-')
storedNumber -= currentNumber;
else if (lastOperator == '*')
storedNumber *= currentNumber;
else if (lastOperator == '/')
storedNumber /= currentNumber;
else if (lastOperator == 'p')
storedNumber *= -1;
else if (lastOperator == 's')
storedNumber = Math.sqrt(currentNumber);
else if (lastOperator == '=' && equaled)
storedNumber = currentNumber;
operation.setText("" + storedNumber);
operated = true;
lastOperator = operator;
}
// 快捷使用GridBagLayout的方法
private void addComponent(GridBagLayout layout, Component component,
int row, int col, int width, int height) {
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.insets = new Insets(10, 2, 10, 2);
constraints.weightx = 100;
constraints.weighty = 100;
constraints.gridx = col;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(component, constraints);
if (component instanceof JButton)
((JButton) component).addActionListener(this);
getContentPane().add(component);
}
// 主方法初始化並顯示窗口
public static void main(String[] args) {
Calculator3 calc = new Calculator3();
calc.setSize(290, 400);
calc.setVisible(true);
}
}
2. win7自帶計算器切換到「程序員」模式時為什麼無法進行計算
計算器想必大家都用過,不過大多停留在簡單的加減乘除上,不過對於那些經常要和數字打交道的同學們肯定不僅僅限於此,例如三角函數、求和等計算肯定會經常用到,對於這類計算往往有專業的計算器支持,不過價格不菲,也就讓很多人望而卻步。
其實這類專業的計算器一直就在我們的身邊,在我們的眼前,就是正版Win7中自帶的計算器。而下面我們就來介紹一下Win7自帶計算器的功能。
首先在附件中我們可以找打「計算器」程序,打開後發現,Win7自帶的計算器與之前的版本相比還是有些差別的,精緻的視覺效果,顯得更為簡潔大方。
外觀的變化只是Win7計算器中最簡單的一面,而更深層的變化在於其除了有「標准型」和「科學型」兩種計算模式之外,還有「程序員」、「統計信息」等模式,而且值得一提的是,Win7自帶的計算器還具有日期計算、單位轉換、工作表等多種實用計算工具。
那麼如何切換我們想要的計算模式呢?一種方法是直接從「查看」菜單中選擇,另外,我們還可以通過快捷方式「Alt+數字1/2/3/4」來更快速的切換,非常方便。
科學計算器
在科學模式下使用計算器,可以精確到32位數,並可使用運算符來控制優先順序,另外,對於數學函數的功能大致可以分為三類;
三角函數:主要包含了正弦、餘弦等快速計算,另外,按INV功能鍵後,還可以計算其反函數等。
代數函數:這里可以計算我們高中時學過的冪函數、對數函數、指數函數等。
其他:其餘的函數則相對用的比較少一些,比如取整(Int)、圓周率等。
注意事項:
對於需要一個輸入值的函數值時,一般先要輸入參數,再按相應的函數進行計算,而對於有兩個參數需要輸入的情況,則一般先輸入第一個參數,按函數之後再輸入第二個參數之後,按=獲得記過。
程序員計算器
在這個模式下,結果可以精確到64位,不過需要注意的是,該模式下僅支持整數模式,小數則被舍棄。而進制在這里也可以自由更改,而且每一個數字都會在下方用二進制來表示,十分貼心。
工作表計算器
相信有一些用戶日常還會用到汽車租金、油耗等方面的問題,Win7自帶的計算器都能解決,只要切換到工作表模式,然後選擇自己需要的工作表,就可以相應的計算了。
這里我們以油耗計算為例,選擇油耗工作表後(記得選擇公里為單位的模式),只需要輸入相應的公里數和已經使用的燃料,就可以快速的算出每百公里需要的油耗了。
這里簡單介紹了下Win7自帶計算器的使用方法,雖然僅僅是一個小小的計算器,也讓Win7增色不少,同時為大家帶來了更為全面、人性化的使用效果。
3. win10 程序員 計算器 怎麼用
方法/步驟打開計算器:
打開計算器有很多種方法,這里只演示最簡單的方式。在圖中箭頭所指出直接輸入「計算器」或拼音「jsq」或英文縮寫「calc」,系統裡面給給你查找這個應用,並且顯示在窗口的最上方。點擊「計算器」即可打開。
切換計算器模式:
計算器包含了三種模式,分別是:標准、科學、程序員。默認是標准模式,最簡單也最常用,如果你需要進行科學運算可以使用科學型,如果你是程序員可以是用程序員模式。
點擊左側 三個橫線的圖標,會出現模式選擇界面,點擊相應的名稱就切換到對應的模式。比如點一下「科學」 界面就變成科學模式了。
標准模式的使用:
標准模式一般是用來計算加、減、乘、除的。
第二排圖標分別表示 求百分比,求根號,求評分,求倒數,使用方法都是先按一個數字,然後按對應的圖標。比如 :2%10=20 2 1/X=0.5 。
第一排的圖標很多人比較陌生,下面詳解下MC:清除存儲的數據MR:讀取存儲的數據MS:將所顯示的數存入存儲器中,存儲器中原有的數據被覆蓋M+:將輸入的數加上存儲器中的數,所得結果存入存儲器M-:將存儲器中的數減去輸入的數,所得結果存入存儲器
CE:在數字輸入期間按下此鍵,將清除輸入寄存器中的值並顯示"0",可重新輸入C:清除全部數據結果和運算符
舉個例子,用計算器算出2*3+4*5的結果。按2*3=,顯示6,按MS將數據結果6存入存儲器。再按4*5=,顯示20,按M+將數據結果20加上存儲器中的數值6,再按MR,得到結果26
科學模式的使用:
復雜的數學運算需要用到這個模式,這是標准模式的擴展,主要是添加了一些比較常用的數學函數,我覺得可以分為三組:
三角函數:正弦,餘弦,正切 等函數的運算
代數函數:高中代數里學過的冪函數(x2, x3, x1/3, xy, x1/y),對數函數(In, log),階乘(n!),指數函數(10x)
其他:這里有些函數在編程的時候用的會比較多,比如取整(Int),圓周率(Pi),取模(Mod),以及其他一些表示函數如度分秒錶示(dms),科學計數法表示(F-E),和科學計數法輸入(Exp)
舉例求:5的2次方,如圖。
有兩個變數的演算法一般是先按一個數字,然後再按運算符號,最後輸入一個數字,比如 x的y次方
一個變數的演算法是輸入一個數字,然後按運算符結束,比如根號
還有獲取常量的,直接點一下運算符就可以了,比如 π
程序員模式的使用:
這種模式主要是為程序員設計的,裡面主要包括進制轉換和邏輯運算。
進制轉換,比如把十進制的16轉換成二進制的16。
按鍵:(DEC)下輸入(16),切換到(BIN) 得到結果(10000)。
win10的進制轉換比較人性化,你只要輸入一個數字,裡面會顯示所有進制的值。
邏輯運算: 比如 1 or 0 =1 1 and 0 =0 。
邏輯運算一般都是針對二進制的處理。
單位換算的使用:
個人覺得這個功能超級實用,win10計算器重總共有12單位換算。
1、體積:立方毫米、立方厘米、立方米、升、小勺、大勺、誇脫、加侖……
2、長度:納米、微米、毫米、厘米、米、千米、英寸、英尺……
3、重量:克、十克、百克、千克、公噸、盎司、磅、英石……
4、溫度:攝氏度、華氏度、開爾文溫標……
5、能量:焦耳、電子伏特、千焦、卡路里、大卡、尺磅、英制熱量單位……
6、面積:平方毫米、平方厘米、平方米、平方千米、公頃、平方英寸、平方英尺……
7、速率:厘米每秒、米每秒、千米每秒、英尺每秒、英里每秒、節數、馬赫數……
8、時間:微秒、毫秒、秒、分鍾、小時、天、周、年……
9、功率:瓦特、千瓦、馬力、尺磅、BTU每秒……
10、數據:KB(千位元組)、MB、GB、TB……
11、壓力:帕斯卡、磅每平方英寸(PSI)、巴、大氣壓力(毫米汞柱)……
12、角度:角度、弧度……
4. 有誰可以教教我怎麼用程序員計算器嗎
樓上兩位已得出部分解。本題若是只限定為整數的相加是無解的。因為三個奇數相加之和必為奇數,不可能等於30。以下是iOS上的nano basic驗證程序:
a()=1,3,5,7,9,11,13,15,17,19
for i=1 to 8
for j=1 to 8
for k=1 to 8
if a(i)+a(j)+a(k)=30 then
print a(i);a(j);a(k)
endif
next i
next j
next k
end
5. windows計算機的附件計算器(程序員計算器)怎麼用那四字,兩字,字什麼意思
一字 代表 兩個位元組
一個內存單元是8個bit,一個位元組。
那麼兩字就是四個位元組,四字就是八個位元組
6. windows系統中的計算器怎麼設置為程序員模式
不知道驗友有沒有研究過windows自帶的計算器,反正小編研究之後發現,windows自然的計算器確實很強大,之前都忽視了。現在,跟著懶蛇來看一下,windows自帶計算器的一些高級用法。 如何快速打開計算器? 1、win + R 組合鍵,打開運行對話框 2、輸入calc,敲回車執行 3、打開windows自帶的標准型計算器。 注意,如果第一次打開,默認打開標准型計算機。如果上次打開程序員類型計算器,下次打開還是程序員類型。 計算器的幾種工作模式 1、標准型 2、科學型 3、程序員型 4、統計信息型 如何在上述幾種類型間切換? 1、點擊計算器左上角的查看菜單,下拉菜單選擇工作類型。 2、Alt + 1/2/3/4,快速切換。 計算器的高級用法? 1、進制轉換 打開程序員型計算器,可以看到進制轉換菜單。其中包括,十進制、八進制、16進制、2進制。而且可以設置位元組。 2、單位換算 查看菜單,選中單位轉換,快捷鍵Ctrl+U。可以進行常見的單位換算,很方便。 3、日期計算 查看菜單,選中日期計算,快捷鍵Ctrl+E。可以快速計算兩個日期的間隔天數。比如,我們知道了12306的搶票時間,可以通過這個程序,快速的知道還有多少天可以搶票。 4、抵押、汽車租賃、油耗計算 通過設置計算器,還可以進行上述運算。 5、復制和粘貼 計算器支持復制和粘貼功能,點擊編輯菜單,即可進行復制粘貼操作。對於文檔中的算式,可以直接復制進計算器進行運算,比如說, 1+2*3+4*5
7. 程序員計算器怎麼打小數點
摘要 在打開的計算機頁面中,點開左上角的查看選項,此時彈出好幾個其他選項。選擇程序員選項,或者直接按(alt+3)進入程序員界面。當然,想進行比較高級的計算時,可以打開科學計算器的頁面
8. win7自帶的那個計算器里的程序猿那個.說下它的那些英文都是幹啥的吧.
And, Or, Not, Xor: 最基本的與或非和異或操作,不作解釋。
Lsh, Rsh:全稱是Left Shift和Right Shift,也就是左移和右移操作,你需要輸入你要移動的位數(不能大於最大位數)
RoL, RoR:全稱是Rotate Left和Rotate Right,對於RoL來講,就是向左移動一位,並將移出的那位補到最右邊那位上,RoR類似
程序員里是二進制運算,在計算機里用0和1在表示小數,具體查資料
不一定正確的,它在四捨五入
比如,你輸入3. * 4 ,它會得出16
緊接著,16再除4 = 3.
這個也不能叫錯吧,它 在存儲結果時會比顯示在顯示框中的結果多出若干位(具體多少位,這個真沒研究過),所以會出現數據可以還原的情況
9. 電腦里科學計算器和程序員的區別是什麼
科學計算器和市面上賣的科學計算器一樣的功能,可以計算冪、三角函數、根號,對數等,支持多項式,支持小數;
程序員計算器是輔助編程使用的,最主要的功能是2/8/10/16進制之間的轉換,以及與或非模等操作,只支持整型,不支持浮點數。
10. win7自帶計算器中的程序員里小數點那個符號是暗的,那我怎麼進行進制之間的轉化
win7自帶計算器中的程序員里小數點那個符號是暗的,不能進行進制之間的轉化是設置錯誤造成的,解決方法為:
1、找到電腦左下角的一個四色的開始圖標點開。