我正在尝试将数组与java一起使用,当我从类返回数组时,它会显示[I @ 7d4991ad(应该是地址),但是如何返回所有元素?
(顺便说一句,我总是把JavaScript和Java弄混了,我不知道是哪一次蚀,对不起)
基本上,我使用metod int []返回了向量的名称
public class TestVettori {
private int vector[];
private int length;
//function input lengt
public void setLength(int newLung) {
if(newLung>=1)
length=newLung;
}
//function input
public void inputValue(int[] vett) {
vector = new int [length];
for(int i=0;i<length;i++)
vector[i]=vett[i];
}
//function print array
**public int[] getVector() {
return vector;
}**
}
import java.util.Scanner;
public class ProgTestVettori {
public static void main(String[] args) {
Scanner in= new Scanner (System.in);
int lung ;
int vett[];
TestVettori vector;
System.out.println("Put the length of the array");
lung = in.nextInt();
vett = new int [lung];
vector = new TestVettori();
vector.setLength(lung);
for(int i=0;i<lung;i++) {
System.out.println("Input the"+(i+1)+" number");
vett[i]=in.nextInt();
}
vector.inputValue(vett);
**for(int i=0;i<lung;i++) {
System.out.println("the "+(i+1)+"° number is"+vector.getVector());
}**
in.close();
}
}
我粘贴了所有代码,因此您可以看到所有代码: 我把长度设成3 我输入数字,我应该从控制台获得数字,但是我得到了3次 [我@ 7d4991输入地址...
答案 0 :(得分:0)
要在特定索引处获取数组的元素,您需要具有以下内容:
<div *ngIf="SKILLS?.length > 0; else noItem">
<div *ngFor="let skill of SKILLS | filter:skillGruppe">
<div class="skill">
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>{{skill.skillname}}
</mat-panel-title>
<mat-progress-bar class="progress-bar" [value]="skill.skillwert"></mat-progress-bar>
<mat-panel-description>
</mat-panel-description>
</mat-expansion-panel-header>
<div>{{skill.skillBeschreibung}}</div>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
,您应该调用此方法而不是getVector()。
另一个选择是将整个数组放在前面,并像这样循环遍历每个元素:
public int getElement(int index) {
return vector[index];
}
答案 1 :(得分:0)
如果要打印数组的元素,则必须执行for循环。一种简化的方法是,可以将toString()方法添加到TestVettori类中。
public class TestVettori {
private int vector[];
private int length;
//function input lengt
public void setLength(int newLung) {
if(newLung>=1)
length=newLung;
}
//function input
public void inputValue(int[] vett) {
vector = new int [length];
for(int i=0;i<length;i++)
vector[i]=vett[i];
}
//function print array
**public int[] getVector() {
return vector;
}**
public String toString() {
String s = "";
for (int i = 0; i < vector.length; i++)
s += (String)(vector[i]) + " ";
return s;
}
}
所以这意味着如果您这样打印数组:
System.out.println(vector);
它将打印您的数组。
答案 2 :(得分:0)
我认为您只是获得了Java对象ID(内部)。您必须遍历列表。我建议您使用foreach循环来完成。对于每个元素,您都会得到名称/长度或所要查找的内容!