Java 从数组中获取值
假设我有一个名为Java 从数组中获取值,java,arrays,Java,Arrays,假设我有一个名为arr的数组,其值为&&&&&&&&。我想找到小数点后的符号数(&),并将值存储到numDecimalDigits中 int numDecimalDigits = 0; char[] arr = new char[7] for (int i = 0; i < str.length(); i ++) { for (int decimal = (arr[pos] = '.'); decimal <= arr.length; decimal ++) {
arr
的数组,其值为&&&&&&&&
。我想找到小数点后的符号数(&),并将值存储到numDecimalDigits
中
int numDecimalDigits = 0;
char[] arr = new char[7]
for (int i = 0; i < str.length(); i ++)
{
for (int decimal = (arr[pos] = '.'); decimal <= arr.length; decimal ++)
{
numDecimalDigits += 1;
}
}
int numDecimalDigits=0;
char[]arr=新字符[7]
对于(int i=0;i 对于(int-decimal=(arr[pos]='.');decimal不需要使用数组。这很简单:(假设str
值必须包含一个
'))
或者你可以用indexOf(“.”
您只需要一个循环:
boolean foundDot = false;
for (int i = 0; i < arr.length; i++) {
if(arr[i] == '.') {
foundDot = true;
} else if(foundDot) {
numDecimalDigits ++;
}
}
boolean foundDot=false;
对于(int i=0;i
它应该做什么--
(arr[pos]=”)?它所做的是将arr[pos]设置为“.”(无论pos是什么)。我尝试的是在小数点开始的地方开始for
循环,并在数组末尾结束循环。pos
只是“位置”(即数组中的位置)的缩写对字符串使用indexOf更有意义。或者从0到array.length的单个循环,与“.”进行比较。(与==
进行比较=
是赋值。)(arr[pos]=.”。
不会告诉您小数点在哪里,它会将“.”赋值给arr[pos
。使用indexOf和不创建您不需要的新字符串没有多大意义???@HotLicks您指的是哪个新字符串?由split创建的两个字符串。(更不用说字符串数组了。)好的,我已经添加了您的建议。
int numDecimalDigits = str.length()-1 - str.indexOf(".");
boolean foundDot = false;
for (int i = 0; i < arr.length; i++) {
if(arr[i] == '.') {
foundDot = true;
} else if(foundDot) {
numDecimalDigits ++;
}
}