我不明白使用数组作为参数的细节:
我创建了一个int数组和一个方法,我不明白为什么可以将参数从“note”重命名为“veraenderung”。
Java如何处理参数?即使我调用方法(注释),我还需要参数吗?
public class ArrayParameter {
public static void main(String[] args) {
int[] note = {3,2,1,4,5}; //Array
int[] note2 = {3,2,1,4,5};
korrektur(note);
korrektur2(note2);
}
//Der Methode "korrektur" wird der int Array (note) übergeben!
public static void korrektur (int note[]) {
for (int i = 0; i<note.length; i++) {
//Sobald die for Schleife aufgerufen wird, werden die jeweiligen Werte um -1 reduziert
note[i]-=1;
System.out.println(note[i]);
}
}
//int "veraenderung" ist ein Parameter
public static void korrektur2 (int veraenderung[]) {
for (int i = 0; i<veraenderung.length; i++) {
//Sobald die for Schleife aufgerufen wird, werden die jeweiligen Werte um -1 reduziert
veraenderung[i]-=1;
System.out.println(veraenderung[i]);
}
}
}
答案 0 :(得分:1)
我不明白为什么可以重命名参数
<div class="block-geomap">
<div class="block-color">
<ul class="color-list">
<li class="color-item"><span class="color-blue"></span>0-5%</li>
<li class="color-item"><span class="color-green"></span>5%-10%</li>
...
<li class="color-item"><span class="color-red"></span>>35%</li>
<li class="color-item"><span class="color-white"></span>No Data</li>
</ul>
</div>
<img src="https://i.stack.imgur.com/1E7z6.png"/ alt="GEO map">
</div>
和korrektur
只是两种不同的方法,每种方法都有2个独立的签名。它们与无关(即使程序员可以像你一样命名它们);
参数的名称只是方法块中有用的本地名称;
java如何处理参数?即使我调用方法(注释),我还需要参数吗?
这些方法参数是强制性的。因此,您需要在方法调用中插入它们。
答案 1 :(得分:0)
我会尝试尽可能小地将其分解,以便您理解:)...
创建方法时。例如:public static void korrektur2 (int veraenderung[])
int veraenderung []可以根据需要命名...主要的是你把&#34; int []&#34;在括号内的某处,以便告诉java&#34;嘿,我的方法采用整数数组&#34;。
名称veraenderung本身仅在本地使用(在该方法中)作为参考,告诉java您解析的任何内容,该方法将起作用。
例如,当您调用上述方法并说korrektur(note);
时。 note之前被声明为数组,所以当你把'注意'&#39;在korrektur方法中,它与用note替换veraenderung相同。换句话说,java用你传递给方法的变量替换你的局部变量。
并回答你的问题....现在......因为你创建了一个采用整数数组的方法...是的,你必须始终&#34;将一个整数数组放在&#34;它在调用方法时。即每次调用方法korrektur2
或korrektur
并且你没有在其中放入一个整数数组时,Java就像&#34;嘿我创建了一个整数数组并用它来做东西...你为什么要把我留空?!?!?&#34;
我希望这能解决你的问题:)
答案 2 :(得分:0)
如果您看过.class文件,您会发现参数相同 你应该理解概念&#39;范围&#39; (可能是这个)。参数&#39; paramArrayOfInt&#39;有影响korrektur(),然后它被摧毁。在下一个方法中,它只是新的方法。这是我的理解。可能是错的,欢迎讨论。
public class ArrayParameter
{
public static void main(String[] paramArrayOfString)
{
int[] arrayOfInt1 = { 3, 2, 1, 4, 5 };
int[] arrayOfInt2 = { 3, 2, 1, 4, 5 };
korrektur(arrayOfInt1);
korrektur2(arrayOfInt2);
}
public static void korrektur(int[] paramArrayOfInt)
{
for (int i = 0; i < paramArrayOfInt.length; i++)
{
paramArrayOfInt[i] -= 1;
System.out.println(paramArrayOfInt[i]);
}
}
public static void korrektur2(int[] paramArrayOfInt)
{
for (int i = 0; i < paramArrayOfInt.length; i++)
{
paramArrayOfInt[i] -= 1;
System.out.println(paramArrayOfInt[i]);
}
}
}