黑马程序员技术交流社区
标题:
请问这里while和if是怎么运作的?
[打印本页]
作者:
我感觉优势很大
时间:
2014-1-15 10:31
标题:
请问这里while和if是怎么运作的?
本帖最后由 我感觉优势很大 于 2014-1-15 10:34 编辑
package com.itheima;
import java.util.Scanner;
/**
* 数组去重
例如:
原始数组是{4,2,4,6,1,2,4,7,8}
得到结果{4,2,6,1,7,8}
* @author Sandro
*
*/
public class Test5 {
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
int j,m;
char t;
String a;
a=new String(reader.nextLine());//从键盘输入一串数字
char s[]=a.toCharArray();//将数字转化为数组
int d=a.length()-1;
int c=a.length();
for(j=0;j<d;j++)//进行a.length-1次循环,实现a.length-1趟比较
for(m=j+1;m<c;m++)//在第n趟中进行a.length-n次比较,每次比较为第n个数分别与这个数后面的所有数比较
while(s[j]==s[m]){
t=s[d];
s[m]=t;
s[d]=0;
c--;
d--;
}//将相同的元素移至最后并赋值为0
for(int n=0;n<c;n++){
System.out.println(s[n]);
}//每交换一次就将最后一个元素省略输出(用while就能正常运行,用if就会运行失败,不知道什么原因)
}
}
//这时输入“1111”将会输出“1”,而把while改成if之后输入“1111”则会输出“11”,谁能帮帮我{:soso_e154:}太感谢了
作者:
我感觉优势很大
时间:
2014-1-15 10:33
好吧,我已经懂了。。。论坛真方便,有个“相关帖子”,点进去就明白了{:soso_e117:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2