我刚刚开始学习Java,直到数组,我正在准备这个程序(从一本书中)用''替换空间''。 (点),我无法理解这一特定的界限(即使在我正在学习的书中也未提及)。
请帮帮我。
class SpaceRemover{
public static void main(String[] args){
String mostFamous = "Hey there stackoverFLow ";
char [] mf1 = mostFamous.toCharArray();
for(int dex = 0; dex<mf1.length;dex++)
{
char current = mf1[dex]; // What is happening in this line ??
if (current != ' ') {
System.out.print(current);
}
else{
System.out.print('.');
}
}
System.out.println();
}
}
有人请解释“char current = mf1 [dex];”
中发生的事情非常感谢你的时间。
答案 0 :(得分:2)
您将获得字符数组dex
中的mf1
字符/项(因此mf1[dex]
)并将其存储到本地变量current
中。
答案 1 :(得分:1)
java中的String基本上是一个字符数组。所以上面的代码所做的是将字符串转换为字符数组,以便稍后可以访问数组的每个索引。然后代码进入for循环,以遍历char数组的所有indecies。
假设您已经清楚这一点,代码现在创建一个char变量,它保存数组的当前索引。
char current = mf1[dex];
mf1是表示字符串的char数组。 dex是由for循环确定的char的当前索引。因此,通过这样做,我们可以检查char数组的每个字符(字母)。现在,如果char“current”是一个空格,我们可以用点替换它。
答案 2 :(得分:0)
它在数组idx
中获取索引mf1
处的字符,并将其值存储在current
变量中。
答案 3 :(得分:0)
for循环逐个字符地迭代字符串mostFamous
。
你要问的是将角色放在特定的位置。功能类似于JavaScript的charAt(i)
答案 4 :(得分:0)
在此声明之后,char [] mf1 = mostFamous.toCharArray();
mf1[0]=H, mf1[1]=e, mf1[1]=y...
所以在这一行,char current = mf1[dex];
所以,在第一次迭代中,current=H
,第二次迭代current=e...
答案 5 :(得分:0)
char current = mf1[dex];
此行从mf1
char数组中获取值,并根据current
分配给dex
变量,dex
作为数组元素的索引,并递增与运行循环。
答案 6 :(得分:0)
该行
char current = mf1[dex];
放在for循环中,每次循环迭代时变量dex都会递增。变量dex
是数组的从零开始的索引。在赋值运算符(=)的左侧,您声明了一个名为current
的{{1}}类型的变量。在赋值运算符的右侧,如果从零开始计数,则访问CharArray的第de个字符。赋值运算符将您声明的变量与您在右侧指定的字符的值绑定。
例如,第一次运行循环时,char
将从0开始,因此dex
(或mf1[dex]
)只是'H'。
答案 7 :(得分:0)
这是解决方案
class SpaceRemover{
public static void main(String[] args){
String mostFamous = "Hey there stackoverFLow ";
char [] mf1 = mostFamous.toCharArray();
// mf1 contains={'H', 'e','y',' ','t','h',.........}
for(char current: mf1)
{
//the for-each loop assigns the value of mf1 variable to the current variable
//At first time the 'H' is assigned to the current and so-on
System.out.print(current==' '?'.':current );
}
System.out.println();
}
}
}
答案 8 :(得分:0)
它将char
数组mf1
的元素在索引dex
处分配给char
变量current
。
请注意,使用foreach
语法可以简化for循环和该行;这两个代码块是等价的:
// Your code
for(int dex = 0; dex<mf1.length;dex++) {
char current = mf1[dex];
// Equivalent code
for (char current : mf1) {
但是,整个方法可以用一行代替:
public static void main(String[] args){
System.out.println("Hey there stackoverFLow ".replace(" ", "."));
}
答案 9 :(得分:0)
char current = mf1[dex];
这将返回索引为dex的char数组中的char元素
这是数组的一个基本用法。
祝你学习顺利。