
正文
java重复打印代码,打印不同的数java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用java集合去除一组数字中的重复项,并打印输出
public class RemoveDuplicate {
private static int[] array = {1,2,3,3,3,4,5,6,6,7};
public static void remove(){
SetInteger set = new HashSet();
for (int i : array) {
if(!set.add(i)){
System.out.println(i);
}
}
System.out.println(set.toString());
}
public static void main(String[] args) {
RemoveDuplicate.remove();
}
}
以上是java代码。可以利用set 的元素的唯一性来完成你的要求。
set.add() 方法 如果添加失败那么会返回false,也就意味着里面已经有了一个同样的元素。
当然这个方法未必是最好的。可以利用一些更巧妙的方法达成。那样速度和效率都会更高。
(有部分人不知道为什么我的代码new HashSet里面没有指定类型。那么请参考java1.7新特性)
相关问答
Q1: Java异常处理:如何避免重复打印异常
检查日志文件,你就能看到满屏重复的异常。
因此,异常只能被打印一次。在哪儿打异常最好呢?。
原则就是自定义异常在抛出前打印一下,其他各层对自定义异常不作任何打印。甚至不用Catch.
对于上面WebServiceClient.login,在这打印是对的,还可以加上自己的一些log信息,如log.fatal("cannotlogintheXXXsystem");至于在其他层,就不在需要打印,处理这个异常了。这样的异常处理没有什么技术含量,只是个异常处理原则,如果人人都遵循(看到自定义不处理,抛自定义异常前处理)这个原则,就能避免重复打印异常日志
再考虑如何把友好的异常信息给终端用户呢,所谓友好,不能总是提示“系统错误,请稍后再试”,因为这样能让使用者对系统没有信心。好比领导交给你的任务,你没有完成,你总不能每次都说“这是我的问题,以后改正”吧。对异常进行稍微详细的说明,是必要的。另外,也不能总是把异常的stacktrace原封不动的现实给使用者,如java.io.IOExcepiton:Filecannotbefound.这样会被认为你的程序质量不够高。
可以通过异常指定类型来在Web层解释并转化为友好的异常
。如上列子,可以如下定义MyApplicationExceptoin
如下代码:
Q2: java中如果要连续打印相同的字符,如何书写 比如要打印8个空格 String indent=" "; System.out.println(in
import java.util.Scanner;
public class Printer {
static String strAmount;
static String strEnterChar;
public static void init() {
Scanner amount1 = new Scanner(System.in);
String strAmount1 = amount1.nextLine();
if (!strAmount1.matches("[0-9]+")) {
System.out.println("请输入正确的次数:");
init();
}
if (strAmount1.matches("[0-9]+")) {
int number = Integer.parseInt(strAmount1);
for (int i = 0; i number; i++) {
System.out.print(strEnterChar + "\t");
}
init();
}
}
public static void main(String[] args) {
System.out.println("请输入要打印的字符:");
Scanner enterChar = new Scanner(System.in);
strEnterChar = enterChar.nextLine();
System.out.println("请输入要打印的次数:");
Scanner amount = new Scanner(System.in);
strAmount = amount.nextLine();
if (!strAmount.matches("[0-9]+")) {
System.out.println("请输入正确的次数:");
init();
return;
}
int number = Integer.parseInt(strAmount);
for (int i = 0; i number; i++) {
System.out.print(strEnterChar + "\t");
}
}
}
以上是一段,可以输入要打印的字符,并输入打印个数(还可以更换打印个数)的代码。希望对你有帮助。
Q3: 在Java中将一串相同字符用代码使它重复显示 如在同一行显示多个“*”
啊?来一个循环?
public static void main(String[] args) {
char c = '*';
int loopCount = 10;//显示多少次
for (int i = 0; i loopCount; i++) {
System.out.print(c);
}
}
Q4: 使用java集合去掉数组中重复的值并打印出来,数组:{2,5,4,7,8,9,6,4}
JAVA里面可以利用Set Map的唯一性来排除重复数值,具体代码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
int[] ary = {2,5,4,7,8,9,6,4};
//通过Set集合的唯一性来做到去除重复
SetInteger set = new TreeSetInteger();
//利用map的KEY的唯一性来去除重复
MapInteger, Object map = new HashMapInteger, Object();
//利用集合特性去除重复值
for(int i = 0; i ary.length; i++){
set.add(new Integer(i));
map.put(new Integer(i), null);
}
System.out.println("利用Set去除结果:");
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Integer integer = (Integer) iterator.next();
System.out.print(integer + " ");
}
System.out.println("\n利用Map去除结果:");
for(Iterator ite = map.keySet().iterator(); ite.hasNext();){
System.out.print(ite.next() + " ");
}
}
}
---------------程序结果
利用Set去除结果:
0 1 2 3 4 5 6 7
利用Map去除结果:
0 1 2 3 4 5 6 7






