CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  非技术区

在java中怎么实现一个简单的输入啊???

楼主loyer()2006-11-01 16:57:55 在 Java / 非技术区 提问

我用java写了一个数组的小程序,怎么接收用户的输入来判断是否要要插入新的元素和删除一个数组元素啊?  
  初学java有很多不懂的地方,还有就是学java有发展前途吗? 问题点数:40、回复次数:6Top

1 楼dashi(喜欢莲的憨木鱼)回复于 2006-11-01 16:59:43 得分 0

~upTop

2 楼jackxing(Jack)回复于 2006-11-01 17:10:15 得分 20

命令行:in.read  
  弹出窗口:JOptionPane.showOptionDialog  
   
  具体用法查下资料Top

3 楼loyer()回复于 2006-11-01 22:25:16 得分 0

我知道是java.io这个类下的一个子类中的一个方法,但是我不知道怎么样使用阿。。。  
  那位大侠能给我个具体事例啊。。。。  
  谢谢了。。Top

4 楼qq191641994()回复于 2006-11-02 14:12:50 得分 20

class   test    
  {    
        public   static   void   main(String[]   args)    
      {    
            int   ExchangeNum=0;//交换次数  
    int   CompareNum=0;//比较次数  
    int   temp=0;//暂存单元  
     
            int[]   a   =   new   int[args.length];    
            for   (int   i   =   0;   i   <   args.length;   i++)    
                {    
                      a[i]   =   Integer.parseInt(args[i]);    
                  }  
                         
    for   (int   i   =   0;   i   <   args.length   -   1;   i++)    
                  {    
                            for   (int   j   =   i   +   1;   j   <   args.length;   j++)    
                            {    
                                  if   (a[i]   >   a[j])    
                                      {    
                                              CompareNum++;//交换次数加1  
                                              temp   =   a[i];    
                                              a[i]   =   a[j];    
                                              a[j]   =   temp;    
                                              ExchangeNum+=3;//交换一次需比较3次  
                                      }    
                              }    
                      }    
                      System.out.println("冒泡排序后的结果为:   ");  
                          for(int   i=0;i<args.length;i++)  
                            {  
                                          System.out.print(a[i]+"     ");    
                            }  
                        System.out.println();  
                        System.out.println("比较次数为:   "+CompareNum);  
                        System.out.println("交换次数为:   "+ExchangeNum);  
  }  
  }  
  运行->cmd->javac   test.java->java   test   5   6   9   8   6   3   7  
  Top

5 楼loyer()回复于 2006-11-03 22:20:07 得分 0

if   (a[i]   >   a[j])    
                                      {    
                                              CompareNum++;//交换次数加1  
                                              temp   =   a[i];    
                                              a[i]   =   a[j];    
                                              a[j]   =   temp;    
                                              ExchangeNum+=3;//交换一次需比较3次  
                                      }    
  为什么是比较3次啊?  
  麻烦给解释一下。。。  
  谢谢啊Top

6 楼loyer()回复于 2006-11-03 23:23:41 得分 0

我知道了,你这样计算的应该是连上中间变量的交换次数,即是temp   =   a[i];    
      a[i]   =   a[j];         a[j]   =   temp;     每一次交换都记录为一次交换,这样计算出来的只能算是总的交换次数。但是这不容易理解,应该减去temp变量的交换次数,这样就出来的就是数组成员在用冒泡法排序的过程中交换的次数。。。。。。。  
  很感谢楼上给的这个程序,让我对数组的认识有近了一步。。。  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:loyer
  • jackxing
  • qq191641994

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo