我有一个来自tsv文件的二维数组。该数组名为root
,并具有以下信息:
HG sn FA
PC 2 16:0
PI 1 18:0
PS 3 20:0
PE 2 24:0
26:0
16:1
18:2
然后我有一些字符串:
String lc = 34:2 // It is a user input so it could be another number
String result = 2 // again a user input so it could be 1,2 or 3
34:2是一个不应分割的数字。
我需要从数组中的行FA获取值root[i][2]
,它们总和在一起可以是String lc的值。字符串结果告诉我有多少值应该加在一起,如果是1,2或3。
一个例子:
String lc = 34:2
String result = 2
这意味着我需要在数组中找到2个值,它们总和的总和将等于34:2,这可能是16:1 + 18:1。
我需要从打印的数组中获取两个值。
答案 0 :(得分:0)
您不能将String和int相乘。您必须先将String转换为int或double。
//String to double
double doubleVal = Double.parseDouble(stringVal);
//String to int
int intVal = Integer.parseInt(stringVal);
然后你可以进行任何数学运算
//multiplication exemple
double result = doubleVal * 1234;
然后,如果需要,可以将其转换回字符串
//double to String
String s = ""+result;
编辑好的32:2表示32.2所以这是解决方案
double x = 2.0; //you have your x doublevalue
String y = "32:2"; //you have your y String value
String nums = y.replace(":",".");
double ydouble = Double.parseDouble(nums); // equal 32.2
double res = ydouble / x; //32.2/2 = 16.1
for (int i = 0; i < root.lenght; i++) {
//same thing here, we convert the FA number to a double
String nums = root[i][2].replace(":",".");
double rdouble = Double.parseDouble(nums);
if(res == rdouble)
return root[i][2]; //solution found
}
return null;
希望有所帮助