小编Soo*_*oon的帖子

ScriptEngine在java String中工作,但在String []中失败

以下代码用于计算String中的数据:rani = String rani ="32*0.25"; 并给出正确的输出为8.0

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

public class StringMathEngine {

    public static void main(String[] args) throws ScriptException {

        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine engine = mgr.getEngineByName("JavaScript"); 
        String rani =  "32*0.25";
        System.out.println(engine.eval(rani));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是在以下代码中使用时失败:

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

public class StringMathEngine {

    public static void main(String[] args) throws ScriptException {

        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine engine = mgr.getEngineByName("JavaScript");



        String[]rani = {"s", "32*0.25", "r", "32*0.75+16", "r", "16", "s", "32"};

        for(int n=0;n<rani.length; …
Run Code Online (Sandbox Code Playgroud)

java javax.script

5
推荐指数
1
解决办法
1687
查看次数

通过将字符串拆分为条件子字符串来获取java数组

我有一个java字符串'str'

String str= " 1p   qrn qr2 qst   1a1 4at   qa qb1  st1 sp su";
Run Code Online (Sandbox Code Playgroud)

我想拆分它以获得以下'parts'数组

String [] parts={"1p","qrn qr2 qst" ,"1a1 4at" ,"qa qb1" ,"st1 sp su"};
Run Code Online (Sandbox Code Playgroud)

'parts'的元素以char 0-9,a,q,s开头.

帮助我找到一个合适的正则表达式:

String [] parts= str.split(a suitable regex);
Run Code Online (Sandbox Code Playgroud)

或任何其他可以做到的选择.

java regex arrays string

1
推荐指数
1
解决办法
554
查看次数

使int数组与java字符串数组并行

以下代码将字符串数组'one'创建为[c,a,t,a,n,d,d,o,g].现在我想创建一个int数组'two',其中每个'a'的位置是3,所有其他位置都填充为5

int two= {5, 3, 5, 3, 5, 5, 5, 5, 5}
Run Code Online (Sandbox Code Playgroud)

但是代码将每个元素赋予等于5,因此它打印为

5 5 5 5 5 5 5 5 5 :
Run Code Online (Sandbox Code Playgroud)

我用的代码从这里开始:

import com.google.common.collect.ObjectArrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;

public class StringInt {


public static void main(String[] args) {

      String str= "cat and dog";
      String[] word = str.split("\\s"); 
      String[] one = new String[0];
      for(int i=0; i<word.length; i++){
           one = ArrayUtils.addAll(one, word[i].split("(?!^)"));
      } 

        System.out.println("One : " + Arrays.toString(one));

        int[] b = new int[one.length];

        for(int j=0; j<one.length; …
Run Code Online (Sandbox Code Playgroud)

java arrays

1
推荐指数
1
解决办法
198
查看次数

标签 统计

java ×3

arrays ×2

javax.script ×1

regex ×1

string ×1