如何在Java中减少数组?
这是我的代码开始如何在Java中减少数组?,java,arrays,char,decrement,Java,Arrays,Char,Decrement,这是我的代码开始 static char[] a1 = {'a', 'b', 'c', 'd', 'e'}; static char[] a2 = {'a', 'c', 'd', 'c'}; for (int i = 1; i <= 5 ; i++) { if( a1[i] == a2[i] ){ sop(a2[i] + ""); }else{ if( a1
static char[] a1 = {'a', 'b', 'c', 'd', 'e'};
static char[] a2 = {'a', 'c', 'd', 'c'};
for (int i = 1; i <= 5 ; i++) {
if( a1[i] == a2[i] ){
sop(a2[i] + "");
}else{
if( a1[i] > a2[i] ){
sop("");
}else if( a1[i] < a2[i] ){
sop("-");
a2[i] = a2[i-1];
}
}
}
注意:
sop=System.out.print
如果我了解您的想法,在使用减量时,您可能只是试图减少第二个数组的索引使用量?如果是这样的话,那就不行了。此外,还有一些问题,例如数组寻址(Java)将数组元素从位置0索引,而不是从位置1索引
无论如何,对于您的问题陈述,您可以尝试:
static char[] a1 = {'a', 'b', 'c', 'd', 'e'};
static char[] a2 = {'a', 'c', 'd', 'c'};
for(int k=0;k<a1.length;k++)
System.out.print(a1[k]);
System.out.println();
for (int i = 0, j=0 ; i<a1.length && j<a2.length ; i++, j++)
{
if( a1[i] == a2[j] )
System.out.print(a2[j]);
else if( a1[i] < a2[j] )
{
System.out.print("-");
j--;
}
}
static char[]a1={'a','b','c','d','e'};
静态字符[]a2={'a','c','d','c'};
对于(int k=0;k你的第一语言是什么?我能理解的是,你只改变数组中的一个点,你想全部改变吗?你需要一秒钟的时间来改变其他值。@RicardoOrtegaMagaña你是指编程语言吗?我正试图减少a2的数组。例如,请发布你想要得到的输出。如果数组s本身应该改变,请告诉我们如何改变。@Rixuel勋爵对不起,但是“减少数组”不清楚。@PM77-1我正在比较a1和a2。首先,我得到'a'和'a',然后我得到'b'和'c'。之后,我得到'c'和'd',但由于'b'和'c'不相等,我不希望a2的值'c'移到'd',这样我就可以得到'c'和'c',而不是'c'和'd'。
static char[] a1 = {'a', 'b', 'c', 'd', 'e'};
static char[] a2 = {'a', 'c', 'd', 'c'};
for(int k=0;k<a1.length;k++)
System.out.print(a1[k]);
System.out.println();
for (int i = 0, j=0 ; i<a1.length && j<a2.length ; i++, j++)
{
if( a1[i] == a2[j] )
System.out.print(a2[j]);
else if( a1[i] < a2[j] )
{
System.out.print("-");
j--;
}
}