第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在函數(shù)上動(dòng)態(tài)編寫逗號(hào)字符(作為參數(shù))?

如何在函數(shù)上動(dòng)態(tài)編寫逗號(hào)字符(作為參數(shù))?

侃侃爾雅 2023-05-10 15:22:13
我在我的項(xiàng)目中使用 MxParser 庫(kù)。我在下面寫了 3 種不同的方式。前兩個(gè)有效,但第三個(gè)(我真正想要的)無(wú)效 1) (working)    Argument x=new Argument("x",2);    Argument y=new Argument("y",3);    Argument z=new Argument("z",4);    Expression e2=new Expression("(y-x)*100",x,y,z);    String result=String.valueOf(e2.calculate());    System.out.println("result= "+result);2) (working)    HashMap<String, Argument> map4 = function_2(list);    Entry<String, Argument> next4 = map4.entrySet().iterator().next();    Argument a = next4.getValue();    String formula="(A+A)*100";    Expression e = new Expression(formula,a);    System.out.println("result= " + e.calculate());3) (not working)    HashMap<String, Argument> map4 = function_2(list);    Entry<String, Argument> next4 = map4.entrySet().iterator().next();    Argument a = next4.getValue();    String formula="(A+A)*100";    String s=","; // This line is D?fferent    Expression e = new Expression(formula+s+a); // This is too    System.out.println("result= " + e.calculate());
查看完整描述

2 回答

?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊

你為什么要那樣做?你正在混合參數(shù)值和源代碼。所以你問(wèn)的是不可能的。Java 預(yù)編譯代碼,但如果您所做的工作可行,則需要運(yùn)行時(shí)編譯。

Expression 構(gòu)造函數(shù)Expression(java.lang.String expressionString, PrimitiveElement... elements)接受可變數(shù)量的元素。您甚至可以傳遞一組 PrimitiveElement 實(shí)例:

Argument[] arguments=new Argument[3];
arguments[0]==new Argument("x",2);
arguments[1]=new Argument("y",3);
arguments[2]=new Argument("z",4);Expression e = new Expression(formula,arguments);

看起來(lái)足夠靈活?;蛘吣隳芙忉屢幌聻槭裁催@對(duì)你的情況不是一個(gè)有用的解決方案。

重新審理您的最后一個(gè)案例時(shí):

    HashMap<String, Argument> map4 = function_2(list);
    String formula="(A+A)*100";
        Expression e = new Expression(formula,map4.values().toArray(new Argument[0]));
    System.out.println("result= " + e.calculate());

Argument... 只接受一系列 Argument 實(shí)例或 Argument 類型的數(shù)組。map4.values().toArray(new Argument[0])將值參數(shù)列表轉(zhuǎn)換為數(shù)組。該參數(shù)new Argument[0]只是返回正確類型的數(shù)組所必需的。


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊

我在我編寫的函數(shù)中返回動(dòng)態(tài)值作為結(jié)果。(例如,A、B 和 C(所有參數(shù)類型))

我必須根據(jù)函數(shù)的結(jié)果自動(dòng)創(chuàng)建一個(gè)表達(dá)式。

例如; 比如3個(gè)值返回(A,B,C)應(yīng)該是這樣;

Expression e2 = new Expression ("(A * B) * (C-100)", A, B, C);

如果2個(gè)值返回(A, B, C)應(yīng)該是這樣;

Expression e2 = new Expression ("(A * B) / 10", A, B);

如果 1 返回 (A) 應(yīng)該是這樣的;

Expression e2 = new Expression ("(A * 15)", A);

也就是說(shuō),我必須根據(jù)下一個(gè)數(shù)字自動(dòng)編寫這些表達(dá)式。

那我就用calculate()函數(shù)來(lái)計(jì)算。


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 2 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)