黑马程序员技术交流社区
标题:
Java提问
[打印本页]
作者:
Hugoo
时间:
2014-6-29 13:38
标题:
Java提问
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{
}
}
}
作者:
496080891
时间:
2014-6-29 17:03
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
/**
* 创建一个长度为10的数组,并为其初始化好10个整数,
* 从键盘输入一个整数,判断该整数是否在数组中存在,
* 若不存在,则给出相应提示,
* 如果存在,则删除该数,有几个删除几个。
*/
public static void main(String[] args) {
int[] nums= {0,1,2,3,3,5,6,7,8,9};
ArrayList<Integer> al = new ArrayList<Integer>();
System.out.print("原数组:");
for(int x :nums)
System.out.print(x+" ");
System.out.println();
System.out.print("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int num= sc.nextInt();
for(int x=0;x<nums.length;x++){
al.add(nums[x]);
}
//判断输入的数是否存在
if(al.contains(num)){
//如果存在就循环删掉
while(al.contains(num)){
al.remove(num);
}
System.out.print("新数组:");
for(int x :al)
System.out.print(x+" ");
}else{
System.out.println("该数不存在现有数组中!");
}
}
}
复制代码
作者:
blue_sky
时间:
2014-6-29 18:50
编程的时候,一般不会直接对int数组里的数据和位置进行操作;所以引入其它的方法对数组中的数据提取出来并进行操作;
import java.util.Scanner;
public class argstest {
/**
* @Author: ZPl;
*/
public static void main(String[] args) {
int[] num = new int[]{0,1,2,3,4,5,6,3,8,9};//定义一个大小为10的int数组;定义后长度不能修改;
for(int i=0;i<num.length;i++){
System.out.print(num[i]+" ");//输出原数组的数据;
}
System.out.println();
StringBuffer sb = new StringBuffer();//定义一个StringBuffer对象;用于接收数组中的数据,并对数据进行处理;
for(int i =0;i<num.length;i++){
sb.append(num[i]);
}
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int ss = Integer.parseInt(sc.next());
int d =0;//记录删除的个数用的;
for(int i=0;i<num.length;i++){
if(num[i]==ss){
if(d==0){
sb.deleteCharAt(i);//删除相同的数字;
d++;
}else{
sb.deleteCharAt(i-d);
}
}
continue;
}
if(sb.length()==num.length){
System.out.println("该数在数组中不存在!");
}else{
int[] num1 = new int[sb.length()];//重新定义了一个int数组,其长度和StringBuffer的长度相同;
for(int i=0;i<sb.length();i++){
num1[i]= sb.charAt(i)-48;//将StringBuffer中的数据导入到新创建的int数组中去;
}
for(int i = 0;i<num1.length;i++){//显示新数组;
System.out.print(num1[i]+" ");
}
System.out.println();
}
}
}
复制代码
这个题的难点主要是:使用什么样容器来承载int数组的数据并进行操作;有很多种方法;仅供借鉴一下;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2