A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Hugoo 中级黑马   /  2014-6-29 13:38  /  1073 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package practice5;

import java.util.*;

/*创建一个长度为10的数组,并为其初始化好10个整数,从键盘输入一个整数,
* 判断该整数是否在数组中存在,若不存在,则给出相应提示,
* 如果存在,则删除该数,有几个删除几个。*/
public class Registe {
        public static void main(String[] args) {
                int [ ] num= {0,1,2,3,4,5,6,7,8,9};
                System.out.println("请输入一个整数:");
                Scanner sc = new Scanner(System.in);
                num= sc.nextInt();
                if(sc=num){
                        System.out.println("该数组不存在!");
                       
                }else{
                       
                }
               
        }

}

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

2 个回复

倒序浏览
  1. import java.util.ArrayList;
  2. import java.util.Scanner;

  3. public class Test {

  4.         /**
  5.          * 创建一个长度为10的数组,并为其初始化好10个整数,
  6.          * 从键盘输入一个整数,判断该整数是否在数组中存在,
  7.          * 若不存在,则给出相应提示,
  8.          * 如果存在,则删除该数,有几个删除几个。
  9.          */
  10.         public static void main(String[] args) {
  11.                   int[] nums= {0,1,2,3,3,5,6,7,8,9};
  12.                   ArrayList<Integer> al = new ArrayList<Integer>();
  13.                   System.out.print("原数组:");
  14.                   for(int x :nums)
  15.                   System.out.print(x+" ");
  16.           System.out.println();
  17.           System.out.print("请输入一个整数:");
  18.           Scanner sc = new Scanner(System.in);
  19.           int num= sc.nextInt();
  20.           for(int x=0;x<nums.length;x++){
  21.                           al.add(nums[x]);             
  22.           }         
  23.           //判断输入的数是否存在
  24.           if(al.contains(num)){
  25.                   //如果存在就循环删掉
  26.                   while(al.contains(num)){
  27.                           al.remove(num);
  28.                   }
  29.                   System.out.print("新数组:");
  30.                   for(int x :al)
  31.                           System.out.print(x+" ");                  
  32.           }else{                 
  33.                    System.out.println("该数不存在现有数组中!");
  34.           }                                
  35.         }
  36. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
编程的时候,一般不会直接对int数组里的数据和位置进行操作;所以引入其它的方法对数组中的数据提取出来并进行操作;
  1. import java.util.Scanner;

  2. public class argstest {

  3.         /**
  4.          * @Author: ZPl;
  5.          */
  6.         public static void main(String[] args) {

  7.                 int[] num = new int[]{0,1,2,3,4,5,6,3,8,9};//定义一个大小为10的int数组;定义后长度不能修改;
  8.                 for(int i=0;i<num.length;i++){
  9.                         System.out.print(num[i]+" ");//输出原数组的数据;
  10.                 }
  11.                 System.out.println();
  12.                 StringBuffer sb = new StringBuffer();//定义一个StringBuffer对象;用于接收数组中的数据,并对数据进行处理;
  13.                 for(int i =0;i<num.length;i++){
  14.                         sb.append(num[i]);
  15.                 }
  16.                  System.out.println("请输入一个整数:");
  17.          Scanner sc = new Scanner(System.in);
  18.          int ss = Integer.parseInt(sc.next());
  19.          int d =0;//记录删除的个数用的;
  20.          for(int i=0;i<num.length;i++){
  21.                  if(num[i]==ss){
  22.                          if(d==0){
  23.                          sb.deleteCharAt(i);//删除相同的数字;
  24.                          d++;
  25.                          }else{
  26.                                  sb.deleteCharAt(i-d);
  27.                          }
  28.                  }
  29.                  continue;
  30.          }
  31.          if(sb.length()==num.length){
  32.                  System.out.println("该数在数组中不存在!");
  33.                  
  34.          }else{
  35.                  int[] num1 = new int[sb.length()];//重新定义了一个int数组,其长度和StringBuffer的长度相同;
  36.                  for(int i=0;i<sb.length();i++){
  37.                          num1[i]= sb.charAt(i)-48;//将StringBuffer中的数据导入到新创建的int数组中去;
  38.                  }
  39.                  for(int i = 0;i<num1.length;i++){//显示新数组;
  40.                          System.out.print(num1[i]+" ");
  41.                  }
  42.                  System.out.println();
  43.                  
  44.          }
  45.         }

  46. }
复制代码


这个题的难点主要是:使用什么样容器来承载int数组的数据并进行操作;有很多种方法;仅供借鉴一下;

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马