java题求代码,4、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}

public class TEST {

public static void main(String[] args) {
int [] oldArr= {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int [] newArr= new int[oldArr.length] ;
int n=0;
for (int i=0;i<oldArr.length;i++) {
if(oldArr[i]==0) {}
else {
newArr[n]=oldArr[i];
n++;
}
}
for(int i=0;i<newArr.length;i++)
{
if(newArr[i]!=0) {System.out.print(newArr[i]);}
}

}
}

注意int [] newArr={};会报错,因为没有固定的长度

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TEST.main(TEST.java:11)

原文地址:https://www.cnblogs.com/otakus/p/12165858.html

时间: 2024-10-29 02:41:34

java题求代码,4、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}的相关文章

hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。

题意:求一个无向图的,去掉两个不同的点后最多有几个连通分量. 思路:枚举每个点,假设去掉该点,然后对图求割点后连通分量数,更新最大的即可.算法相对简单,但是注意几个细节: 1:原图可能不连通. 2:有的连通分量只有一个点,当舍去该点时候,连通分量-1: 复习求割点的好题! #include<iostream> #include<cstdio> #include<vector> using namespace std; int n,m; vector<vector&

java正则去掉小数点后多余0

需求:已知字符串为一数字字符形式,多为float,double转换过来,将其后多余的0与.去掉. package test; /** * 去掉多余的.与0 * @author Hust * @Time 2011-11-7 */ public class TestString { public static void main(String[] args) { Float f = 1f; System.out.println(f.toString());//1.0 System.out.print

Java:去掉 字符串开头的 0;去掉 字符串 末尾的 0

public static void main(String[] args) { // TODO Auto-generated method stub /* 去掉 字符串  开头的 0 */ String s = "00123000"; //方法1:String --> Integer //String str = String.valueOf(Integer.parseInt(s)); //方法2:正则 //String str = s.replaceAll("^(0

每天一道Java题[11]

题目 synchronized怎么实现线程同步?请修改<每天一道Java题[10]>中的MyRunnableThread类以解决三个线程都获取到10的问题. 解答 方法一: 采用synchronized关键字包裹需要保证线程安全的代码块,来实现线程同步.语法格式为: Synchronized(expression){ //需同步的代码 } <每天一道Java题[10]>中的MyRunnableThread类修改为: package me.huangzijian; public cl

(转)Java二进制指令代码解析

转自http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html Java二进制指令代码解析 Java源码在运行之前都要编译成为字节码格式(如.class文件),然后由ClassLoader将字节码载入运行.在字节码文件中,指令代码只是其中的一部分,里面还记录了字节码文件的编译版本.常量池.访问权限.所有成员变量和成员方法等信息(详见Java字节码格式详解).本文主要简单介绍不同Java指令的功能以及在代码中如何解析二进制指令. Ja

Java二进制指令代码解析

http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html http://blog.csdn.net/sum_rain/article/details/39892219 http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html Java二进制指令代码解析 小注:去年在看<深入解析JVM>书的时候做的一些记录,同时参考了<Java虚拟机规范>.只是对指令的

java怎么求素数

素数:大于1,只能被1和自身整除 1 public static boolean isSuShu(int num){ 2 if(num<=1){//大于1 3 return false; 4 } 5 if(num==2||num==3){ 6 return true; 7 } 8 int count=1;//你能整除其他值得次数 9 10 for(int i=2;i<=num;i++){ 11 if(num%i==0){ 12 count++; 13 } 14 if(count>2){/

编程之美2016初赛第四题 求n对括号的所有有效组合

思路:递归遍历,先遍历左括号再遍历右括号,在左括号遍历次数小于右括号时,遍历右括号 n对括号的有效组合数 参考:https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0 import java.util.*; //求n对括号的所有有效组合 public class Level0004 { public static String[] Puzzle(int n) { List<String> l = new ArrayL

省赛i题/求1~n内所有数对(x,y),满足最大公约数是质数的对数

求1~n内所有数对(x,y),gcd(x,y)=质数,的对数. 思路:用f[n]求出,含n的对数,最后用sum[n]求和. 对于gcd(x,y)=a(设x<=y,a是质数),则必有gcd(x/a,y/a)=1;所以我只要枚举i(设i=y/a),再枚举所有质数 他们乘积的f[i*a]值包括i的欧拉函数值.时间复杂度(n*质数个数) #include<iostream> #include<cstring> using namespace std; const int maxx=1