多谢各位高手帮忙.我java菜鸟.帮忙解释一下几句代码?先谢谢了!
publicclassdemo{publicstaticvoidmain(String[]args){Stringsource="天气太他妈的热,你就是个大笨蛋,你怎么这...
public class demo{
public static void main(String[] args) {
String source="天气太他妈的热,你就是个大笨蛋,你怎么这么STUPID呢?";
String word="他妈的,笨蛋,坏蛋,stupid".toUpperCase();
String words[]=word.toUpperCase().split(",");
boolean isGood;
do{
isGood=true;
for(int i=0;i<words.length;i++){
int pos=source.toUpperCase().indexOf(words[i]);
if(pos!=-1){
int length=words[i].length();
source=source.substring(0, pos)
+"****"+source.substring(pos+length);
isGood=false;
}
}
}while(!isGood);
System.out.println(source);
}
}
帮忙解释一下下面的代码...主要是这几句:1.String words[]=word.toUpperCase().split(","); 2. isGood=true; 3. int pos=source.toUpperCase().indexOf(words[i]); 4. isGood=false; 5. while(!isGood); 展开
public static void main(String[] args) {
String source="天气太他妈的热,你就是个大笨蛋,你怎么这么STUPID呢?";
String word="他妈的,笨蛋,坏蛋,stupid".toUpperCase();
String words[]=word.toUpperCase().split(",");
boolean isGood;
do{
isGood=true;
for(int i=0;i<words.length;i++){
int pos=source.toUpperCase().indexOf(words[i]);
if(pos!=-1){
int length=words[i].length();
source=source.substring(0, pos)
+"****"+source.substring(pos+length);
isGood=false;
}
}
}while(!isGood);
System.out.println(source);
}
}
帮忙解释一下下面的代码...主要是这几句:1.String words[]=word.toUpperCase().split(","); 2. isGood=true; 3. int pos=source.toUpperCase().indexOf(words[i]); 4. isGood=false; 5. while(!isGood); 展开
3个回答
展开全部
1:把字符串word先转换成大写字母,对非字符串不会产生影响,再根据","把转化后的字符串进行分割,返回一个数组;
2:上面不是声明了一个布尔类型的变量:isGood,在do while循环中给isGood赋值为ture(boolean 类型变量只有两个值:true,false),在循环中给出判定条件;
3:把字符串source转换成大写字母,对非字符串不会产生影响,再根据下标i取出上面生成word数组值,再根据取出的数组值在转换后的source字符串中找与取出的数组值相等并且第一次出现的下标的位置,如果字符串中找不到则返回-1;
4:在下面如果if(pos!=-1){条件成立isGood的值会变成false,供下面do while循环跳出提供判断条件;
5:while里的条件判断是否跳出循环,while(!isGood);判断解释就是:isGood上面已经改变了变量值所以为false,false取反,为true,条件不成立跳出循环;
友情提示:
上面说的希望对你有所帮助;
2:上面不是声明了一个布尔类型的变量:isGood,在do while循环中给isGood赋值为ture(boolean 类型变量只有两个值:true,false),在循环中给出判定条件;
3:把字符串source转换成大写字母,对非字符串不会产生影响,再根据下标i取出上面生成word数组值,再根据取出的数组值在转换后的source字符串中找与取出的数组值相等并且第一次出现的下标的位置,如果字符串中找不到则返回-1;
4:在下面如果if(pos!=-1){条件成立isGood的值会变成false,供下面do while循环跳出提供判断条件;
5:while里的条件判断是否跳出循环,while(!isGood);判断解释就是:isGood上面已经改变了变量值所以为false,false取反,为true,条件不成立跳出循环;
友情提示:
上面说的希望对你有所帮助;
追问
您的回答很详细.多谢啊.呵呵.再问一下.就是楼上说"while(!isGood);//(!isGood)为真时循环继续,假时跳出",那到底是(!isGood)为真时循环跳出?还是为假时循环跳出?
追答
!isGood为假时跳出循环
展开全部
public class Demo {
public static void main(String[] args) {
String source="天气太他妈的热,你就是个大笨蛋,你怎么这么STUPID呢?";
String word="他妈的,笨蛋,坏蛋,stupid".toUpperCase();//将字母转化为大写
String words[]=word.toUpperCase().split(",");//将word字符串以“,”为正则表达式分割字符串并储存入数组
boolean isGood;//定义boolean变量
do{
isGood=true;//isGood赋值为true(真)
for(int i=0;i<words.length;i++){
int pos=source.toUpperCase().indexOf(words[i]);//查找source字符串里是否存在words[i]
if(pos!=-1){//若查找的内容存在(pos为1时表示上面查找的不存在)
int length=words[i].length();//存储查找的内容的字符长度
source=source.substring(0, pos)+"****"+source.substring(pos+length);
isGood=false;//isGood赋值为false(假)
}
}
}while(!isGood);//(!isGood)为真时循环继续,假时跳出
System.out.println(source);
}
}
public static void main(String[] args) {
String source="天气太他妈的热,你就是个大笨蛋,你怎么这么STUPID呢?";
String word="他妈的,笨蛋,坏蛋,stupid".toUpperCase();//将字母转化为大写
String words[]=word.toUpperCase().split(",");//将word字符串以“,”为正则表达式分割字符串并储存入数组
boolean isGood;//定义boolean变量
do{
isGood=true;//isGood赋值为true(真)
for(int i=0;i<words.length;i++){
int pos=source.toUpperCase().indexOf(words[i]);//查找source字符串里是否存在words[i]
if(pos!=-1){//若查找的内容存在(pos为1时表示上面查找的不存在)
int length=words[i].length();//存储查找的内容的字符长度
source=source.substring(0, pos)+"****"+source.substring(pos+length);
isGood=false;//isGood赋值为false(假)
}
}
}while(!isGood);//(!isGood)为真时循环继续,假时跳出
System.out.println(source);
}
}
追问
多谢高手的回答. 小弟还有问题. 就是为什么要这样写:if(pos!=-1)...为啥要pos与-1比较?
isGood=false;//isGood赋值为false(假)........while(!isGood)则为真, 那循环一直继续.什么时候跳出呢?
谢谢.期待您的解答!
追答
pos为-1时表示查找的内容不存在,这时不会执行if里面的代码段,所以isGood还是true,这时便会跳出循环了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是没有触发 clockon的事件?我是加了一个button:<input type="button" value="显示时间" onclick="clockon();" />然后就能显示时间。
var timer = setTimeout("clockon()",200);
这个是不是想让时间显示一段时间就停止显示呢?如果这样的话用:var timer = setTimeout(function data(),200);不知道是不是这样
var timer = setTimeout("clockon()",200);
这个是不是想让时间显示一段时间就停止显示呢?如果这样的话用:var timer = setTimeout(function data(),200);不知道是不是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询