java科學計算,java科學計算器摘要怎麼寫

本文目錄一覽:

java中如何對較大的數字進行計算

不管是不是用JAVA,其實方法都一樣,利用數組比如說長度為一千的數字,可以這個 int[] number = new int[1000];相加的思路是,首先兩個數組的長度必須是一致,位數不同的話,前面補0,內存有點浪費,但是計算起來比較方便。然後讓它們從0到最高位,每位進行相加並保存相應的位置上。最後一步是從0開始判斷有沒有大於10的數字,如果有就向前面進位(前一個加1,當前位減10),這樣就可以。如果是相減,其實思路還是一樣的,每位先相減,再判斷是否有小於0的,如果有則向前面一位借1(前一位減1,當前位加10)如果是相乘,和上面一樣,不過要注意的是進位的時候,不止進一位,比如5*6,就要向前進3位了(前一位加3,當前位減30)除就比較麻煩點,要涉及到精確度問題,得看實際需要 輸出就更容易了,直接for循環數組 特別要注意的是,如果最高位有進位的時候,這個是比較容易出錯的地方 思路在上面,如果實現不了請留言

用JAVA編寫的科學計算器源代碼

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class Counter extends WindowAdapter

{

static JFrame f=new JFrame(“計算器”);

static JTextField text1=new JTextField(“0.”);

static String source=””;

static String cal=””;

static String object=””;

static boolean flag=false;

static boolean flag1=true;

static boolean flag2=false;

public void init()

{

try

{

Container c=f.getContentPane();

JPanel pan1=new JPanel();

JButton b1=new JButton(“1”);

JButton b2=new JButton(“2”);

JButton b3=new JButton(“3”);

JButton b4=new JButton(“4”);

JButton b5=new JButton(“5”);

JButton b6=new JButton(“6”);

JButton b7=new JButton(“7”);

JButton b8=new JButton(“8”);

JButton b9=new JButton(“9”);

JButton b0=new JButton(“0”);

JButton b11=new JButton(“+”);

JButton b12=new JButton(“-“);

JButton b13=new JButton(“*”);

JButton b14=new JButton(“/”);

JButton b15=new JButton(“.”);

JButton b16=new JButton(“=”);

JButton bclar=new JButton(“清零”);

text1.setHorizontalAlignment(JTextField.RIGHT);

c.add(text1,”North”);

c.add(pan1);

A aa=new A();

Result re=new Result();

Opertion op=new Opertion();

Clar cl=new Clar();

b1.addActionListener(aa);

b2.addActionListener(aa);

b3.addActionListener(aa);

b4.addActionListener(aa);

b5.addActionListener(aa);

b6.addActionListener(aa);

b7.addActionListener(aa);

b8.addActionListener(aa);

b9.addActionListener(aa);

b0.addActionListener(aa);

b11.addActionListener(op);

b12.addActionListener(op);

b13.addActionListener(op);

b14.addActionListener(op);

b16.addActionListener(re);

b15.addActionListener(aa);

bclar.addActionListener(cl);

pan1.add(b1);

pan1.add(b2);

pan1.add(b3);

pan1.add(b11);

pan1.add(b4);

pan1.add(b5);

pan1.add(b6);

pan1.add(b12);

pan1.add(b7);

pan1.add(b8);

pan1.add(b9);

pan1.add(b13);

pan1.add(b0);

pan1.add(b15);

pan1.add(b16);

pan1.add(b14);

pan1.add(bclar);

f.setSize(200,220);

f.setVisible(true);

}

catch(Exception e)

{

System.out.println(e.getMessage());

}

}

class A implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String a=text1.getText();

String s=e.getActionCommand();

if(a.equals(“0.”)||a.equals(“+”)||a.equals(“-“)||a.equals(“*”)||a.equals(“/”))

text1.setText(s);

else {

if(flag2)

{

text1.setText(s);

flag2=false;

}

else

text1.setText(a+s);

}

}

}

class Opertion implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

cal=e.getActionCommand();

if(flag1==true)

source=text1.getText();

text1.setText(cal);

flag1=false;

flag=true;

}

}

class Result implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

double num1;

num1=Double.parseDouble(source);

object=text1.getText();

double num2;

num2=Double.parseDouble(object);

double result=0;

if(cal.equals(“+”))

result=num1+num2;

if(cal.equals(“-“))

result=num1-num2;

if(cal.equals(“*”))

result=num1*num2;

if(cal.equals(“/”))

if(num2==0)

text1.setText(“除數不能為0”);

else

result=num1/num2;

String s1=Double.toString(result);

text1.setText(s1);

flag1=true;

flag2=true;

}

}

class Clar implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

text1.setText(“0.”);

}

}

public static void main(String[] args)

{

Counter count=new Counter();

count.init();

}

public void windowClosing(WindowEvent e){

System.exit(1);

}

public void windowOpened(WindowEvent e){}

public void windowIconified(WindowEvent e){}

public void windowDeiconified(WindowEvent e){}

public void windowClosed(WindowEvent e){}

public void windowActivated(WindowEvent e){}

public void windowDeactivated(WindowEvent e){}

}

學Java不知道將來能做哪些工作?

學習Java培訓將來可以做企業應用開發、web開發、遊戲開發、物聯網等工作。1、企業應用開發:由於Java的安全性,很多企業會使用Java開發一些大型的應用,比如第三方交易系統、銀行前後交易系統、醫療管理系統等等。千鋒教育就有線上免費JavaScript線上公開課。 2、Web開發:用Java開發的網頁會更流暢,更不容易卡頓,所以越來越多的公司開始用Java開發網頁。目前很多培訓機構也會在Java教學課程中教授html5、css、 JavaScript、 jQuery腳本語言和異步交互技術AJAX等知識點,讓學員在培訓後找到Java web開發工作。3、遊戲開發:國內遊戲行業正在蓬勃發展,且由於一些遊戲腳本語言可以與Java語言無縫交互 ,而Java本身也可以開發一些小遊戲,所以精通Java的人在遊戲開發市場上地很受歡迎。4、物聯網:物聯網是近年來興起的一個概念。目前,該領域人才匱乏。Java 的平台獨立性使得Java語言非常適合開發嵌入式程序行業。如果想了解Java更多相關知識,建議到千鋒教育了解一下。千鋒教育目前在18個城市擁有22個校區,年培養優質人才20000餘人,與國內20000餘家企業建立人才輸送合作關係,院校合作超600所。

求JAVA標準計算器與科學計算器轉換源代碼

importjava.awt.*;importjava.awt.event.*;importjava.lang.*;importjavax.swing.*;publicclassCounterextendsFrame{//聲明三個面板的布局GridLayoutgl1,gl2,gl3;Panelp0,p1,p2,p3;JTextFieldtf1;TextFieldtf2;Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;StringBufferstr;//顯示屏所顯示的字符串doublex,y;//x和y都是運算數intz;//Z表示單擊了那一個運算符.0表示”+”,1表示”-“,2表示”*”,3表示”/”staticdoublem;//記憶的數字publicCounter(){gl1=newGridLayout(1,4,10,0);//實例化三個面板的布局gl2=newGridLayout(4,1,0,15);gl3=newGridLayout(4,5,10,15);tf1=newJTextField(27);//顯示屏tf1.setHorizontalAlignment(JTextField.RIGHT);tf1.setEnabled(false);tf1.setText(“0”);tf2=newTextField(10);//顯示記憶的索引值tf2.setEditable(false);//實例化所有按鈕、設置其前景色並註冊監聽器b0=newButton(“Backspace”);b0.setForeground(Color.red);b0.addActionListener(newBt());b1=newButton(“CE”);b1.setForeground(Color.red);b1.addActionListener(newBt());b2=newButton(“C”);b2.setForeground(Color.red);b2.addActionListener(newBt());b3=newButton(“MC”);b3.setForeground(Color.red);b3.addActionListener(newBt());b4=newButton(“MR”);b4.setForeground(Color.red);b4.addActionListener(newBt());b5=newButton(“MS”);b5.setForeground(Color.red);b5.addActionListener(newBt());b6=newButton(“M+”);b6.setForeground(Color.red);b6.addActionListener(newBt());b7=newButton(“7”);b7.setForeground(Color.blue);b7.addActionListener(newBt());b8=newButton(“8”);b8.setForeground(Color.blue);b8.addActionListener(newBt());b9=newButton(“9”);b9.setForeground(Color.blue);b9.addActionListener(newBt());b10=newButton(“/”);b10.setForeground(Color.red);b10.addActionListener(newBt());b11=newButton(“sqrt”);b11.setForeground(Color.blue);b11.addActionListener(newBt());b12=newButton(“4”);b12.setForeground(Color.blue);b12.addActionListener(newBt());b13=newButton(“5”);b13.setForeground(Color.blue);b13.addActionListener(newBt());b14=newButton(“6”);b14.setForeground(Color.blue);b14.addActionListener(newBt());b15=newButton(“*”);b15.setForeground(Color.red);b15.addActionListener(newBt());b16=newButton(“%”);b16.setForeground(Color.blue);b16.addActionListener(newBt());b17=newButton(“1”);b17.setForeground(Color.blue);b17.addActionListener(newBt());b18=newButton(“2”);b18.setForeground(Color.blue);b18.addActionListener(newBt());b19=newButton(“3”);b19.setForeground(Color.blue);b19.addActionListener(newBt());b20=newButton(“-“);b20.setForeground(Color.red);b20.addActionListener(newBt());b21=newButton(“1/X”);b21.setForeground(Color.blue);b21.addActionListener(newBt());b22=newButton(“0”);b22.setForeground(Color.blue);b22.addActionListener(newBt());b23=newButton(“+/-“);b23.setForeground(Color.blue);b23.addActionListener(newBt());b24=newButton(“.”);b24.setForeground(Color.blue);b24.addActionListener(newBt());b25=newButton(“+”);b25.setForeground(Color.red);b25.addActionListener(newBt());b26=newButton(“=”);b26.setForeground(Color.red);b26.addActionListener(newBt());//實例化四個面板p0=newPanel();p1=newPanel();p2=newPanel();p3=newPanel();//創建一個空字符串緩衝區str=newStringBuffer();//添加面板p0中的組件和設置其在框架中的位置和大小p0.add(tf1);p0.setBounds(10,25,300,40);//添加面板p1中的組件和設置其在框架中的位置和大小p1.setLayout(gl1);p1.add(tf2);p1.add(b0);p1.add(b1);p1.add(b2);p1.setBounds(10,65,300,25);//添加面板p2中的組件並設置其的框架中的位置和大小p2.setLayout(gl2);p2.add(b3);p2.add(b4);p2.add(b5);p2.add(b6);p2.setBounds(10,110,40,150);//添加面板p3中的組件並設置其在框架中的位置和大小p3.setLayout(gl3);//設置p3的布局p3.add(b7);p3.add(b8);p3.add(b9);p3.add(b10);p3.add(b11);p3.add(b12);p3.add(b13);p3.add(b14);p3.add(b15);p3.add(b16);p3.add(b17);p3.add(b18);p3.add(b19);p3.add(b20);p3.add(b21);p3.add(b22);p3.add(b23);p3.add(b24);p3.add(b25);p3.add(b26);p3.setBounds(60,110,250,150);//設置框架中的布局為空布局並添加4個面板setLayout(null);add(p0);add(p1);add(p2);add(p3);setResizable(false);//禁止調整框架的大小//匿名類關閉窗口addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente1){System.exit(0);}});setBackground(Color.lightGray);setBounds(100,100,320,280);setVisible(true);}//構造監聽器classBtimplementsActionListener{publicvoidactionPerformed(ActionEvente2){try{if(e2.getSource()==b1)//選擇”CE”清零{tf1.setText(“0”);//把顯示屏清零str.setLength(0);//清空字符串緩衝區以準備接收新的輸入運算數}elseif(e2.getSource()==b2)//選擇”C”清零{tf1.setText(“0”);//把顯示屏清零str.setLength(0);}elseif(e2.getSource()==b23)//單擊”+/-“選擇輸入的運算數是正數還是負數{x=Double.parseDouble(tf1.getText().trim());tf1.setText(“”+(-x));}elseif(e2.getSource()==b25)//單擊加號按鈕獲得x的值和z的值並清空y的值{x=Double.parseDouble(tf1.getText().trim());str.setLength(0);//清空緩衝區以便接收新的另一個運算數y=0d;z=0;}elseif(e2.getSource()==b20)//單擊減號按鈕獲得x的值和z的值並清空y的值{x=Double.parseDouble(tf1.getText().trim());str.setLength(0);y=0d;z=1;}elseif(e2.getSource()==b15)//單擊乘號按鈕獲得x的值和z的值並清空y的值{x=Double.parseDouble(tf1.getText().trim());str.setLength(0);y=0d;z=2;}elseif(e2.getSource()==b10)//單擊除號按鈕獲得x的值和z的值並空y的值{x=Double.parseDouble(tf1.getText().trim());str.setLength(0);y=0d;z=3;}elseif(e2.getSource()==b26)//單擊等號按鈕輸出計算結果{str.setLength(0);switch(z){case0:tf1.setText(“”+(x+y));break;case1:tf1.setText(“”+(x-y));break;case2:tf1.setText(“”+(x*y));break;case3:tf1.setText(“”+(x/y));break;}}elseif(e2.getSource()==b24)//單擊”.”按鈕輸入小數{if(tf1.getText().trim().indexOf(′.′)!=-1)//判斷字符串中是否已經包含了小數點{}else//如果沒數點有小{if(tf1.getText().trim().equals(“0”))//如果初時顯示為0{str.setLength(0);tf1.setText((str.append(“0″+e2.getActionCommand())).toString());}elseif(tf1.getText().trim().equals(“”))//如果初時顯示為空則不做任何操作{}else{tf1.setText(str.append(e2.getActionCommand()).toString());}}y=0d;}elseif(e2.getSource()==b11)//求平方根{x=Double.parseDouble(tf1.getText().trim());tf1.setText(“數字格式異常”);if(x0)tf1.setText(“負數沒有平方根”);elsetf1.setText(“”+Math.sqrt(x));str.setLength(0);y=0d;}elseif(e2.getSource()==b16)//單擊了”%”按鈕{x=Double.parseDouble(tf1.getText().trim());tf1.setText(“”+(0.01*x));str.setLength(0);y=0d;}elseif(e2.getSource()==b21)//單擊了”1/X”按鈕{x=Double.parseDouble(tf1.getText().trim());if(x==0){tf1.setText(“除數不能為零”);}else{tf1.setText(“”+(1/x));}str.setLength(0);y=0d;}elseif(e2.getSource()==b3)//MC為清除內存{m=0d;tf2.setText(“”);str.setLength(0);}elseif(e2.getSource()==b4)//MR為重新調用存儲的數據{if(tf2.getText().trim()!=””)//有記憶數字{tf1.setText(“”+m);}}elseif(e2.getSource()==b5)//MS為存儲顯示的數據{m=Double.parseDouble(tf1.getText().trim());tf2.setText(“M”);tf1.setText(“0”);str.setLength(0);}elseif(e2.getSource()==b6)//M+為將顯示的數字與已經存儲的數據相加要查看新的數字單擊MR{m=m+Double.parseDouble(tf1.getText().trim());}else//選擇的是其他的按鈕{if(e2.getSource()==b22)//如果選擇的是”0″這個數字鍵{if(tf1.getText().trim().equals(“0”))//如果顯示屏顯示的為零不做操作{}else{tf1.setText(str.append(e2.getActionCommand()).toString());y=Double.parseDouble(tf1.getText().trim());}}elseif(e2.getSource()==b0)//選擇的是「BackSpace」按鈕{if(!tf1.getText().trim().equals(“0”))//如果顯示屏顯示的不是零{if(str.length()!=1){tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能拋出字符串越界異常}else{tf1.setText(“0”);str.setLength(0);}}y=Double.parseDouble(tf1.getText().trim());}else//其他的數字鍵{tf1.setText(str.append(e2.getActionCommand()).toString());y=Double.parseDouble(tf1.getText().trim());}}}catch(NumberFormatExceptione){tf1.setText(“數字格式異常”);}catch(StringIndexOutOfBoundsExceptione){tf1.setText(“字符串索引越界”);}}}publicstaticvoidmain(Stringargs[]){newCounter();}}

Java編輯一個科學型計算器跟複合型計算器

Java編輯一個科學型計算器跟複合型計算器:

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JTextField;

import java.awt.GridLayout;

import javax.swing.JButton;

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

import java.util.List; public class CalculaterYYWF extends JFrame {

private JPanel contentPane;

private JTextField textField;

private ListString listSign = new ArrayListString();

private ListDouble listNum = new ArrayListDouble(); public static void main(String[] args) {

new CalculaterYYWF();

} public CalculaterYYWF() {

setResizable(false);

setBackground(new Color(240, 255, 240));

setTitle(“有猿無粉牌計算器”);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 265, 375);

contentPane = new JPanel();

contentPane.setBackground(new Color(224, 255, 255));

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

textField = new JTextField();

textField.setBounds(10, 10, 237, 44);

contentPane.add(textField);

textField.setColumns(10);

JPanel panel = new JPanel();

panel.setBackground(new Color(224, 255, 255));

panel.setBounds(10, 64, 237, 273);

contentPane.add(panel);

panel.setLayout(new GridLayout(5, 4, 5, 5));

String stmp = “123+456-789*0.%/()”;

for (int i = 0; i 18; i++) {

JButton j = new JButton(String.valueOf(stmp.charAt(i)));

j.setActionCommand(j.getText());

panel.add(j);

j.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

textField.setText(textField.getText().trim()

+ e.getActionCommand());

}

});

}

JButton bt_clear = new JButton(“C”);

panel.add(bt_clear);

bt_clear.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

textField.setText(“”);

}

});

JButton bt_deng = new JButton(“=”);

panel.add(bt_deng);

bt_deng.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String expression = textField.getText();

bracketResolve(expression);

}

});

setVisible(true);

} // 逐層消括號並計算

public void bracketResolve(String exp) {

String strjs = convertString(exp);

} }

java里如何正確計算檢驗和

import java.security.MessageDigest;

 

public class MD5HashingExample 

{

    public static void main(String[] args)throws Exception

    {

     String password = “123456”;

 

        MessageDigest md = MessageDigest.getInstance(“MD5”);

        md.update(password.getBytes(“UTF-8”    )); //or GBK

 

        byte byteData[] = md.digest();

 

        //convert the byte to hex format method 1

        StringBuffer sb = new StringBuffer();

        for (int i = 0; i  byteData.length; i++) {

         sb.append(Integer.toString((byteData[i]  0xff) + 0x100, 16).substring(1));

        }

 

        System.out.println(“Digest(in hex format):: ” + sb.toString());

 

        //convert the byte to hex format method 2

        StringBuffer hexString = new StringBuffer();

     for (int i=0;ibyteData.length;i++) {

     String hex=Integer.toHexString(0xff  byteData[i]);

          if(hex.length()==1) hexString.append(‘0’);

          hexString.append(hex);

     }

     System.out.println(“Digest(in hex format):: ” + hexString.toString());

    }

}

原創文章,作者:KRFFC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/329711.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KRFFC的頭像KRFFC
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論