java計算費用的一條語句(java計算電費)

本文目錄一覽:

用JAVA編寫一個計算器

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class Jisuanqi extends JFrame implements ActionListener {

/**

 *

 */

private static final long serialVersionUID = 1L;

Result result = new Result(); // 定義text的面板

Number_Key number_key = new Number_Key(); // 定義按鈕面板

// 當點擊按鈕+、-、*、/時,com = true

boolean com = false;

// 當i=0時說明是我們第一次輸入,字元串text不會累加

int i = 0;

// 存放text的內容

String text = “”;

// 存放點擊按鈕+、-、*、/之前的數值

double defbutton = 0;

// +、-、*、/的代號分別為1,2,3,4

int symbol = 0;

// 構造函數

Jisuanqi() {

super(“WangJiao”); // 設定標題

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設定關閉窗體時退出程序

JPanel pane = new JPanel(); // 定義主面板

pane.setLayout(new BorderLayout());

setBounds(380, 220, 30, 80); // 前兩個參數是在屏幕上顯示的坐標,後兩個是大小

// 替換圖標

ImageIcon icon = new ImageIcon(“F:1.GIF”);

// Jisuanqi.class.getResource(“APPLE.GIF”)

// );

setIconImage(icon.getImage());

pane.add(result, BorderLayout.NORTH);

pane.add(number_key, BorderLayout.CENTER);

pane.add(number_key.equal, BorderLayout.SOUTH);

number_key.one.addActionListener(this); // 對1按鈕添加監聽事件

number_key.two.addActionListener(this); // 對2按鈕添加監聽事件

number_key.three.addActionListener(this); // 對3按鈕添加監聽事件

number_key.four.addActionListener(this); // 對4按鈕添加監聽事件

number_key.five.addActionListener(this); // 對5按鈕添加監聽事件

number_key.six.addActionListener(this); // 對6按鈕添加監聽事件

number_key.seven.addActionListener(this); // 對7按鈕添加監聽事件

number_key.eight.addActionListener(this); // 對8按鈕添加監聽事件

number_key.nine.addActionListener(this); // 對9按鈕添加監聽事件

number_key.zero.addActionListener(this); // 對0按鈕添加監聽事件

number_key.ce.addActionListener(this); // 對置零按鈕添加監聽事件

number_key.plus.addActionListener(this); // 對+按鈕添加監聽事件

number_key.equal.addActionListener(this); // 對=按鈕添加監聽事件

number_key.sub.addActionListener(this); // 對-按鈕添加監聽事件

number_key.mul.addActionListener(this); // 對*按鈕添加監聽事件

number_key.div.addActionListener(this); // 對/按鈕添加監聽事件

number_key.point.addActionListener(this); // 對.按鈕添加監聽事件

setContentPane(pane);

pack(); // 初始化窗體大小為正好盛放所有按鈕

}

// 各個按鈕觸發的事件

public void actionPerformed(ActionEvent e) {

/*

 * 如果是點擊數字按鈕那麼先要判斷是否在此之前點擊了+、-、*、/、=,如果是那麼com=true 如果沒有com=

 * false;或者是否點擊數字鍵,如果是i = 1,如果沒有 i = 0;

 */

if (e.getSource() == number_key.one) {

if (com || i == 0) {

result.text.setText(“1”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “1”);

}

} else if (e.getSource() == number_key.two) {

if (com || i == 0) {

result.text.setText(“2”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “2”);

}

} else if (e.getSource() == number_key.three) {

if (com || i == 0) {

result.text.setText(“3”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “3”);

}

} else if (e.getSource() == number_key.four) {

if (com || i == 0) {

result.text.setText(“4”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “4”);

}

} else if (e.getSource() == number_key.five) {

if (com || i == 0) {

result.text.setText(“5”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “5”);

}

} else if (e.getSource() == number_key.six) {

if (com || i == 0) {

result.text.setText(“6”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “6”);

}

} else if (e.getSource() == number_key.seven) {

if (com || i == 0) {

result.text.setText(“7”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “7”);

}

} else if (e.getSource() == number_key.eight) {

if (com || i == 0) {

result.text.setText(“8”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “8”);

}

} else if (e.getSource() == number_key.nine) {

if (com || i == 0) {

result.text.setText(“9”);

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + “9”);

}

}

/*

 * 對於0這個按鈕有一定的說法,在我的程序里不會出現如00000這樣的情況,我加了判斷條件就是

 * 如果text中的數值=0就要判斷在這個數值中是否有.存在?如果有那麼就在原來數值基礎之上添 加0;否則保持原來的數值不變

 */

else if (e.getSource() == number_key.zero) { // result.text.getText()是得到text里內容的意思

if (com || i == 0) {

result.text.setText(“0”);

com = false;

i = 1;

} else {

text = result.text.getText();

if (Float.parseFloat(text)  0 || Float.parseFloat(text)  0) { // Float.parseFloat(text)就是類型轉換了,下面都是一樣

result.text.setText(text + “0”);

} else {

if (text.trim().indexOf(“.”) == -1) {

result.text.setText(text);

} else {

result.text.setText(text + “0”);

}

}

}

} else if (e.getSource() == number_key.ce) {

result.text.setText(“0”);

i = 0;

com = true;

// text = “”;

defbutton = 0;

}

/*

 * 本程序不會讓一個數值中出現2個以上的小數點.具體做法是:判斷是否已經存在.存在就不添加, 不存在就添加.

 */

else if (e.getSource() == number_key.point) {

if (com || i == 0) {

result.text.setText(“0.”);

com = false;

i = 1;

} else {

text = result.text.getText();

if (text.trim().indexOf(“.”) == -1) {

result.text.setText(text + “.”);

} else {

result.text.setText(text);

}

}

} // 獲得點擊+之前的數值

else if (e.getSource() == number_key.plus) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 1;

} // 獲得點擊-之前的數值

else if (e.getSource() == number_key.sub) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 2;

} // 獲得點擊*之前的數值

else if (e.getSource() == number_key.mul) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

System.out.println(defbutton);

symbol = 3;

} // 獲得點擊/之前的數值

else if (e.getSource() == number_key.div) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 4;

} else if (e.getSource() == number_key.equal) {

switch (symbol) {

case 1: { // 計算加法

double ad = defbutton

+ Double.parseDouble(result.text.getText());

result.text.setText(ad + “”);

i = 0;

text = “”;

break;

}

case 2: { // 計算減法

double ad = defbutton

– Double.parseDouble(result.text.getText());

result.text.setText(String.valueOf(ad));

i = 0;

text = “”;

break;

}

case 3: { // 計算乘法

double ad = defbutton

* Double.parseDouble(result.text.getText());

result.text.setText(ad + “”);

i = 0;

text = “”;

break;

}

case 4: { // 計算除法

double ad = defbutton

/ Double.parseDouble(result.text.getText());

result.text.setText(ad + “”);

i = 0;

text = “”;

break;

}

}

System.out.println(com);

}

System.out.println(result.text.getText());

}

@SuppressWarnings(“deprecation”)

public static void main(String[] args) {

Jisuanqi loveyou = new Jisuanqi();

loveyou.show();

}

}

// 計算器數字按鈕定義面板

class Number_Key extends JPanel {

/**

 *

 */

private static final long serialVersionUID = 1L;

JButton zero = new JButton(“0”); // 數字鍵0

JButton one = new JButton(“1”); // 數字鍵1

JButton two = new JButton(“2”); // 數字鍵2

JButton three = new JButton(“3”); // 數字鍵3

JButton four = new JButton(“4”); // 數字鍵4

JButton five = new JButton(“5”); // 數字鍵5

JButton six = new JButton(“6”); // 數字鍵6

JButton seven = new JButton(“7”); // 數字鍵7

JButton eight = new JButton(“8”); // 數字鍵8

JButton nine = new JButton(“9”); // 數字鍵9

JButton plus = new JButton(“+”);

JButton sub = new JButton(“-“);

JButton mul = new JButton(“*”);

JButton div = new JButton(“/”);

JButton equal = new JButton(“=”);

JButton ce = new JButton(“清零”); // 置零鍵

JButton point = new JButton(“.”);

Number_Key() {

setLayout(new GridLayout(4, 4, 1, 1)); // 定義布局管理器為網格布局

setBackground(Color.blue); // 設置背景顏色

// 添加按鈕

add(one);

add(two);

add(three);

add(four);

add(five);

add(six);

add(seven);

add(eight);

add(nine);

add(zero);

add(plus);

add(sub);

add(mul);

add(div);

add(point);

add(equal);

add(ce);

}

}

// 計算器顯示結果的窗體

class Result extends JPanel {

/**

 *

 */

private static final long serialVersionUID = 1L;

// text先是輸入和結果

JTextField text = new JTextField(“0”);

@SuppressWarnings(“deprecation”)

Result() { // 講輸入的數字或得到的結果在text的右邊顯示

text.setHorizontalAlignment(SwingConstants.RIGHT);

text.enable(false); // 文本框不能編輯

setLayout(new BorderLayout()); // 設定布局管理器邊框布局

add(text, BorderLayout.CENTER); // text放置在窗體的中間

}

}

直接複製 保存成Jisuanqi .java可以直接運行了

怎麼用JAVA編譯升級購物結算? 有商品名稱、商品金額、繼續購買的循環、折扣、總計金額、交費金額、找錢

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.text.DecimalFormat;

import org.apache.commons.lang.StringUtils;

public class Test

{

public static void main(String []args){

System.out.println(“******************************************************************************************************”);

System.out.println(“請選擇要購買的商品編號:”);

System.out.println(“1.T恤(245) 2.網球鞋(570) 3.網球拍(320)”);

System.out.println(“******************************************************************************************************”);

Long total = 0L;

//應付費用和找零保留兩位小數點

DecimalFormat df = new DecimalFormat(“#.00”);

BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

//接受用戶輸入的變數,商品編碼、商品數量、是否繼續和實際交費

String code = “”;String num = “”;String isBuy = “”;String pay = “”;

Double discount = 0.8;

int number = 0;Long payMoney = 0L;Boolean flag = false;

try

{

//do…while循環,先執行do,然後在用戶輸入y的情況下循環執行do中的語句

do{

code =””;num=””;isBuy=””;

//如果輸入編號有誤則循環重新輸入

do{

flag=false;

System.out.print(“請輸入商品編號:”+code);

//獲取用戶輸入的編碼

code = strin.readLine();

if(code.equals(“1”)||code.equals(“2”)||code.equals(“3”)){

flag = true;

}else{

flag=false;

System.out.print(“商品編號不存在!”);

}

}while(flag == false);

//輸入不符合要求時循環重新輸入

do{

flag = false;

System.out.print(“請輸入商品數量:”+num);

//獲取用戶輸入的數量

num = strin.readLine();

//在輸入數量不為空的情況下,將數量轉換成整型,若轉換失敗說明輸入的不是整型數據,提示用戶重新輸入

if(StringUtils.isNotEmpty(num)){

try

{

number = Integer.parseInt(num);

flag = true;

}

catch (Exception e)

{

System.out.println(“商品數量請輸入正整數!”);

flag = false;

num = “”;

}

}

}while(flag == false);

//根據用戶輸入情況計算當前費用

if(code.equals(“1”)){

total += 245*number;

System.out.println(“T恤 ¥”+245.0 +” ¥”+total);

System.out.print(“是否繼續(y/n)”+isBuy);

isBuy = strin.readLine();

}else if(code.equals(“2”)){

total+=570*number;

System.out.println(“網球鞋 ¥”+570.0 +” ¥”+total);

System.out.print(“是否繼續(y/n)”+isBuy);

isBuy = strin.readLine();

}else if(code.equals(“3”)){

total+=361*number;

System.out.println(“網球拍 ¥”+320.0 +” ¥”+total);

System.out.print(“是否繼續(y/n)”+isBuy);

isBuy = strin.readLine();

}

}while(isBuy.equals(“y”));

System.out.println(“折扣:”+discount);

//根據折扣計算顧客需要交納的費用

String needPay = df.format(total*discount);

System.out.println(“金額總計: ¥”+needPay);

//輸入不符合要求時循環重新輸入

do{

flag =false;

System.out.print(“實際交費: ¥”+pay);

//獲取用戶輸入的實際交費

pay = strin.readLine();

//在輸入交費不為空的情況下,將交費轉換成長整型,若轉換失敗說明輸入的不是長整型數據,提示用戶重新輸入

if(StringUtils.isNotEmpty(pay)){

try{

payMoney = Long.parseLong(pay);

flag=true;

}catch(Exception ex){

System.out.println(“實際交費請輸入數字!”);

flag=false;

pay=””;

}

}

}while(flag == false);

System.out.print(“找錢: ¥”+(payMoney-Double.parseDouble(needPay)));

}catch (IOException e1){

e1.printStackTrace();

}

}

}

以上是能達到輸出要求的代碼,有通過測試,比較初級的,希望能幫到樓主。

java中怎麼計算一個方法執行時,耗費多少毫秒

1.後台統計方法執行時間,顯示為秒級別

long

startTime=System.currentTimeMillis();

//執行方法

long

endTime=System.currentTimeMillis();

float

excTime=(float)(endTime-startTime)/1000;

System.out.println(“執行時間:”+excTime+”s”);

2.前台統計時間,顯示為秒級別

var

st=new

Date();

//執行方法

var

et=new

Date();

var

execTime=(et-st)/1000;

var

et

=

document.getElementById(“time”);

et.innerHTML

=”執行時間:”+execTime+”s”;

不過從Firefox的firebug調試工具統計時間來看,前台統計時間比真實時間短,

調試工具統計的時間跟後台統計的時間相近,且稍長,合情理,所以前台統計數據直接從後台取。

3.得出查詢速度的方法是:

在各個select語句前加:

declare

@d

datetime

set

@d=getdate()

並在select語句後加:

select

[語句執行花費時間(毫秒)]=datediff(ms,@d,getdate())

下面JAVA編程中的每一條語句的解釋,初學者,解釋盡量詳細(這是老師編的,按這個答案解釋。)謝謝~

/**

 *定義一個圓形類 

 * @author zh

 *

 */

public class Circle {

/**

 * 成員屬性(半徑) 私有類型   Double類型

 */

private double r;

/**

 * 關於這個r的 get函數(可以通過這個函數拿到r值)

 * @return

 */

public double getR() {

return r;

}

/**

 * 關於這個r的set函數

 * @param r

 */

public void setR(double r) {

//傳入的參數r賦給當前對象的成員變數r。

this.r = r;

}

/**

 * 成員函數(計算周長的函數) 返回一個double類型的計算結果

 */

public double getPerimeter(){

return 2 * 3.14 * r;//圓周長的計算公式

}

/**

 * 成員函數(計算面積的函數) 返回一個double類型的計算結果

 */

public double getArea(){

return r * r * 3.14;//圓面積的計算公式

}

}

/**

 * 測試類

 * @author zh

 *

 */

public class CircleTest {

public static void main(String[] args) {

/**

 * 定義一個圓對象(理解為一個圓實體)

 */

Circle circleOne = new Circle(); 

/**

 * 再定義一個圓對象

 */

Circle circleTwo = new Circle();

//給第一個圓設置他的半徑是1

circleOne.setR(1);

//給第二個圓設置他的半徑是2

circleTwo.setR(2);

/**

 * 設置好他們的半徑後,就可以調用他們的成員函數計算他們分別的周長和面積,列印出來

 */

System.out.println(“circleOne的周長為:” + circleOne.getPerimeter() + ”  ” + “面積為:” + circleOne.getArea());

System.out.println(“circleTwo的周長為:” + circleTwo.getPerimeter() + ”  ” + “面積為:” + circleTwo.getArea());

}

設有各不同面值人民幣若干,編寫一個java程序,對任意輸入的一個金額,給出能組合出這個值的最佳可能

public class Money {

public static void main(String[] args) {

// 所有金額以分為單位

int money = 146;

// 所有鈔票面以分為單位,從大到小排列,10000是100塊,20是2角

int[] rmbs = { 10000, 5000, 2000, 1000, 500, 100, 50, 20, 10, 5, 2, 1 };

// rest是剩餘的錢,剛開始為所求的錢,隨便選錢rest越變越小,直到為0

int rest = money;

for (int rmb : rmbs) {

// num為鈔票個數

int num = rest / rmb;

if (num 0) {

rest = rest – rmb * num;

System.out.println(“鈔票面額(分):” + rmb + ” 個數:” + num + ” 還差多少錢(分):” + rest);

// 錢湊齊了,程序結束

if (rest == 0) {

System.exit(1);

}

} // end if num

} // end for rmb

}

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DLLLN的頭像DLLLN
上一篇 2025-01-07 09:43
下一篇 2025-01-07 09:43

相關推薦

  • 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
  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 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

發表回復

登錄後才能評論