[英]Printing int[] array from a display method
我正在嘗試從同一類的單獨方法中打印int []數組。
public class LargeInteger {
public LargeInteger(String s) {
int[] intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
我的intArray很明顯從顯示方法中隱藏了,但是我不確定該怎么辦
我會給你答案,但是您應該首先花一些時間在Google上查找問題。 Google幾乎“了解”一切...
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public void display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
如果您的顯示方法未返回任何內容,則它應該為空。
intArray
是構造函數中的局部變量 。
它在其他任何地方都不存在。
您需要改成私有字段。
您需要在LargeInteger
方法外部聲明數組,例如
private int[] intArray;
public LargeInteger(String s){
this.intArray = new int[s.length()];
}
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
this.intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < this.intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
使intArray
成為LargeInteger
類的成員,而不是構造函數的本地成員:
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
只需從構造函數中聲明int[] intArray
。
它應該是
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.