真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java四則運算代碼測試 java四則運算實驗報告

求字符串解析四則運算的Java代碼

package samples;

創(chuàng)新互聯(lián)建站自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元莘縣做網(wǎng)站,已為上家服務,為莘縣各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

/**

* @author sghitxia

*

*/

public class C {

public static void main(String[] args) {

String str = "(1+{1+2+3+[2+(4+5)+(9+3*7*6)]}+2+{3*5+[2+(4+5)+(9+3)]}+2)";

System.out.println(cacComplex(str));

}

private static double cacComplex(String str) {

if (str.equals(""))

return 0;

System.out.println("CAC:" + str);

str = str.replaceAll("[\\[\\{]", "(").replaceAll("[\\]\\}]", ")");

int cl = str.lastIndexOf('(');

if (cl == -1)

return cac(str);

int cr = str.indexOf(')', cl);

String left = str.substring(0, cl);

String right = str.substring(cr + 1);

String middle = str.substring(cl + 1, cr);

return cacComplex(left + cac(middle) + right);

}

public static double cac(String str) {

if (str.equals(""))

return 0;

int ml = str.indexOf('*');

int dl = str.indexOf('/');

if (ml == -1 dl == -1) {

return cacNoMD(str);

}

int index = ml == -1 ? dl : ml;

// 4+5*6*7+8

String left = str.substring(0, index);// 4+5

String m1 = lastNumber(left);

left = left.substring(0, left.length() - m1.length());

String right = str.substring(index + 1);// 6*7+8

String m2 = firstNumber(right);// m2:6

right = right.substring(m2.length());// *7+8

double d1 = Double.parseDouble(m1);

double d2 = Double.parseDouble(m2);

double tmp = 0;

if (index == ml) {

tmp = d1 * d2;

} else if (index == dl) {

tmp = d1 / d2;

}

return cac(left + tmp + right);

}

private static String lastNumber(String str) {

StringBuilder sb = new StringBuilder();

for (int i = str.length() - 1; i = 0; i--) {

char c = str.charAt(i);

if (!Character.isDigit(c) c != '.')

break;

sb.append(c);

}

return sb.reverse().toString();

}

private static String firstNumber(String str) {

StringBuilder sb = new StringBuilder();

for (char c : str.toCharArray()) {

if (!Character.isDigit(c) c != '.')

break;

sb.append(c);

}

return sb.toString();

}

private static double cacNoMD(String str) {

double ret = 0;

StringBuilder sb = new StringBuilder();

char sign = '+';

for (char c : (str + "+").toCharArray()) {

if (!Character.isDigit(c) c != '.') {

if (sb.length() == 0)

continue;

double tmp = Double.parseDouble(sb.toString());

if (sign == '+') {

ret += tmp;

} else {

ret -= tmp;

}

sb = new StringBuilder();

sign = c;

} else {

sb.append(c);

}

}

return ret;

}

}

java簡單的四則運算.

public class Arithmetic {

public static void Ari(){

Scanner scan = new Scanner(System.in);

StringBuffer buffer = new StringBuffer();

DecimalFormat dec = new DecimalFormat("0.00");//格式化結(jié)果保留兩位小數(shù)

String all = "";//所有的計算表達式連在一起

System.out.println("請輸入表達式的個數(shù),只能為正整數(shù)");

int n = scan.nextInt();

System.out.println("請依次輸入要計算的表達式");

? ?for(int i=0;in+1;i++){

? ? buffer = buffer.append(scan.nextLine()+",");

? ?}

? ?all = buffer.substring(0, buffer.lastIndexOf(","));

? ?String allAri[] = all.split(",");

? ?String ari = "";//不同的算法表達式

? ?float add;//加法的計算結(jié)果

? ?float subtract;//減肥的計算結(jié)果

? ?float multi;//乘法的計算結(jié)果

? ?float divison;//除法的計算結(jié)果

? ?int model;//模運算的計算結(jié)果

? ?for(int j=0;jallAri.length;j++){

? ? ari = allAri[j];

? ? if(ari.contains("+")){

? ? String tempAry[] = ari.split("[+]");

? ? add = Float.valueOf(tempAry[0])+Float.valueOf(tempAry[1]);

? ? System.out.println(dec.format(add));

? ? }else if(ari.contains("-")){

? ? String tempAry[] = ari.split("[-]");

? ? subtract = Float.valueOf(tempAry[0])-Float.valueOf(tempAry[1]);

? ? System.out.println(dec.format(subtract));

? ? }else if(ari.contains("*")){

? ? String tempAry[] = ari.split("[*]");

? ? multi = Float.valueOf(tempAry[0])*Float.valueOf(tempAry[1]);

? ? System.out.println(dec.format(multi));

? ? }else if(ari.contains("/")){

? ? String tempAry[] = ari.split("[/]");

? ? divison = Float.valueOf(tempAry[0])/Float.valueOf(tempAry[1]);

? ? System.out.println(dec.format(divison));

? ? }else if(ari.contains("%")){

? ? String tempAry[] = ari.split("[%]");

? ? model = Integer.valueOf(tempAry[0])%Integer.valueOf(tempAry[1]);

? ? System.out.println(model);

? ? }

? ?}

}

public static void main(String[] args) {

Ari();

}

}

測試結(jié)果截圖如下:

你的測試用例的輸入的表達式的個數(shù)是4個,但下面的計算表達式好像少了一個,所以我加了一個除法的計算表達式,若理解有誤,還望說明。

JAVA學年課程設(shè)計題目:四則運算測試(求高人解答啊~~)

首先要明白Vector和ArrayList在使用上非常相似,都可用來表示一組數(shù)量可變的對象應用的集合,并且可以隨機地訪問其中的元素。

Vector的方法都是同步的(Synchronized),是線程安全的(thread-safe),而ArrayList的方法不是,由于線程的同步必然要影響性能,因此,ArrayList的性能比Vector好。

當Vector或ArrayList中的元素超過它的初始大小時,Vector會將它的容量翻倍,而ArrayList只增加50%的大小,這樣,ArrayList就有利于節(jié)約內(nèi)存空間。

所以這里用arraylist吧

應該是用來存儲每道題的答案用,比如:

第一道題

int num1 = 1;

int num2 = 2;

int num3 = num1 + num2;

List nums = new ArrayList();

nums.add(num3); //將計算結(jié)果存入數(shù)組中

System.out.println(nums.get(0)); //取值

這只是思路,你借鑒下吧

java編寫一個小軟件用于測試小學生10以內(nèi)四則運算的口算能力

我可以說一下思路:

取到所有下拉框的值,還有這個輸入框的值,比如第一個是: num1 第二個是運算符:* 第三個是:num2 第四個是結(jié)果: result

點擊提交,給一個點擊事件,把取到的值進行運算var cal= Integer.parseInt(num1)* Integer.parseInt(num2),cla是自己定義的,然后判斷程序計算的結(jié)果是否和輸入的結(jié)果相等,再給出相應的提示


文章名稱:java四則運算代碼測試 java四則運算實驗報告
標題路徑:http://weahome.cn/article/ddedhjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部