黑马程序员技术交流社区

标题: 请问这里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