入門SWT 簡單的計算器介面和功能

2021-08-28 07:50:55 字數 3679 閱讀 2916

先放張效果圖

一開始我們需要寫出乙個基礎介面。

public static void main(string args) 

display.dispose();

}

這樣我們的基礎介面就出來了,之後在上面把我們的計算器介面寫上去。

public static void main(string args) 

display.dispose();

}

此時執行的效果圖為

我們來繼續將介面完成,以下**在上面繼續寫出即可

string b = ;//定義乙個陣列

griddata griddate1 = new griddata();

griddate1.widthhint = 95;

griddate1.heighthint = 40;

griddate1.horizontalspan = 5;

for (int i = 0; i < b.length; i++)

string a = ;

griddata griddate = new griddata();

griddate.widthhint = 55;

griddate.heighthint = 55;

griddate.horizontalspan = 3;

griddate.verticalspan = 3;

for (int i = 0; i < a.length; i++)

griddata griddata1 = new griddata();

griddata1.widthhint = 55;

griddata1.heighthint = 115;

griddata1.verticalspan = 6;

griddata1.horizontalspan = 3;

button button = new button(shell, swt.push);

button.settext("=");

button.setlayoutdata(griddata1);

griddata griddata2 = new griddata();

griddata2.widthhint = 115;

griddata2.heighthint = 55;

griddata2.horizontalspan = 6;

griddata2.verticalspan = 3;

button button1 = new button(shell, swt.push);

button1.settext("0");

button1.setlayoutdata(griddata2);

string c = ;

for (int i = 0; i < c.length; i++)

此時我們的計算器介面就出來了,執行過後效果圖如下

此時我們計算器的整體介面完成後需要開始對各個按鈕功能進行實現。

我們在最初定義三個元素

public static double s1 = 0;//代表計算的第乙個資料

public static double s2 = 0;//代表計算的第二個資料

public static double re = 0;//代表結果

「backspace」, 「ce」, 「c」 的按鈕我們將其設定為回歸初始。

我們在這幾個按鈕的迴圈中加入以下按鈕監聽事件

button.addselectionlistener(new selectionlistener() 

@override

public void widgetdefaultselected(selectionevent arg0)

});

數字輸入按鈕中我們加入以下按鈕監聽效果

button.addselectionlistener(new selectionlistener()  else 

}//到此實現數字輸入功能

if (button.gettext() == "+")

if (!text.gettext().equals("")) else

if (!text2.gettext().equals("")) else

text.settext("");

s2 = 0;

text1.settext(string.valueof(re));

text2.settext(button.gettext());

break;

case "-":

re = s1 - s2;

s1 = re;

text.settext("");

s2 = 0;

text1.settext(string.valueof(re));

text2.settext(button.gettext());

break;

case "*":

if (s2 != 0) else

text.settext("");

s2 = 0;

text1.settext(string.valueof(re));

text2.settext(button.gettext());

break;

case "/":

if (s2 != 0) else

text.settext("");

s2 = 0;

text1.settext(string.valueof(re));

text2.settext(button.gettext());

break;

case "√":

re = math.sqrt(s1);

s1 = re;

text.settext("");

s2 = 0;

text1.settext(string.valueof(re));

text2.settext(button.gettext());

break;

default:

break;}}

}if (s2 != 0) else

} // 加法

}@override

public void widgetdefaultselected(selectionevent arg0)

});}

以上是加法的計算,其他符號演算法類同。

接下來是小數點的判斷

if (button2.gettext().equals(".")) 

}//判斷小數點是否重複出現

if (x)

}

到此計算器的功能基本已經完全實現。

堆疊入門 簡單計算器

題目鏈結 解題思路 利用堆疊對表示式求值的方法在任意一本資料結構教科書上都會做明確的闡述。這裡簡單的回顧 1.設立兩個堆疊,乙個用來儲存運算子,另乙個用來儲存數字。2.在表示式首尾新增標記運算子,該運算子運算優先順序最低。3.從左至右依次遍歷字串,若遍歷到運算子,則將其與運算子棧棧頂元素進行比較,若...

簡單的計算器

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...

C 簡單的計算器

實驗目的和要求 1.設計背景 設計擁有簡單的計算功能,方便計算簡單的計算題。方便使用者的使用。2.設計功能 具有一般計算功能,能進行基本的加減乘除運算,還具有求根號,倒數等功能。特點是能進行不同進製的運算和不同進製間的轉換。3.模組分解 該計算器分為3個模組,分別是 textbox 顯示區 顯示數字...