这是一个有关在十个数字的数组中查找不同值的问题。用户提供10个号码。我已经编写了代码,将代码分成两个文件(分配的另一种条件),但是当答案返回结尾为0时,我发现自己很茫然。
我需要知道如何从数组中删除结尾的0。如果是字符串,我可以轻松地做到这一点。不幸的是,我需要将答案作为两个文件之间的数组返回。
我研究了该主题,发现“拼接”有效,但是我无法弄清楚它在我的代码中如何工作。我想出的唯一解决方案是从代码中删除全0(下面是我的第一个示例)。不幸的是,如果用户决定输入零,则应该能够包括0。
//document 1
public static void main(String[] args){
Scanner s = new Scanner(System.in);
String strOfArray = " ";
String Values = "";
int arr[]=new int[1000000];
System.out.print("Entered 10 integers:\t\t\t ");
for(int i = 0; i<10; i++)
arr[i] = s.nextInt();
for (int j=0; j<10; j++)
strOfArray += (arr[j]+ " ");
System.out.println ("Array before processing:"+ "\t" + strOfArray);
System.out.print("Array after processing:\t\t ");
DistinctValues.getValues(arr);
}
}
//document 2
public class DistinctValues {
public static void getValues(int[] arr){
String Values = "";
for (int i=0; i<arr.length; i++){
boolean isUnique = false;
for(int j=0; j<i; j++){
if (arr[i] == arr[j]){
isUnique = true;
break;}}
if(!isUnique){
System.out.print(arr[i] +" ");}}}}
我添加了所有代码以进行更好的说明。谢谢。
答案 0 :(得分:0)
所以这是经过反复试验的解决方案,我意识到我有一定数量的元素,因此我不必对我将“ i”设置为什么模棱两可。由于我有10个变量,因此我只能将其设置为小于10的值,并且程序无法吐出额外的0。
if(!isUnique && i<10){
System.out.print(arr[i] +" ");}
但是因为我正在学习这个。有人可以为我提供一个未设置为10个整数或未设置为任何用户想要的整数的数组吗?使它成为<变量吗?