Java 我不明白为什么数组[0]和[1]变为空
为什么主数组在一次while循环后变为null??当我运行程序时,一切都很完美,但在第二个循环中,创建新笔记和查看笔记,两者都将变为空Java 我不明白为什么数组[0]和[1]变为空,java,arrays,Java,Arrays,为什么主数组在一次while循环后变为null??当我运行程序时,一切都很完美,但在第二个循环中,创建新笔记和查看笔记,两者都将变为空 import java.util.Scanner; public class NoteIt { public static void main(String[]args) { Scanner s = new Scanner(System.in); int Answer; int i=2; System.out.p
import java.util.Scanner;
public class NoteIt {
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
int Answer;
int i=2;
System.out.print("\nPlease Enter your Name: ");
String Name = s.nextLine();
System.out.println("Welcome to Note-It "+Name+", We hope you'll enjoy our application. ");
String[][] Main = new String[2][2];
Main[0][0]="Create new Note";
Main[1][0]="View My Notes";
while(true) {
System.out.println("\nPlease select what to do: \n");
for (int n = 0; n < 2; n++) {
System.out.println((n + 1) + ") " + Main[n][0]);
}
System.out.print("\nPlease enter your response: ");
Answer = s.nextInt();
if (Answer == 1) {
i++;
Main = new String[i][2];
System.out.print("\nTitle: ");
Main[i - 1][0] = s.next();
System.out.print("Body: ");
Main[i - 1][1] = s.next();
} else if (Answer == 2) {
for (int k = 2; k < i; k++) {
System.out.println(k - 1 + Main[k][0]);
}
}
}
}
}
这里您创建了一个新数组
如果要调整阵列大小,有2个选项
使用java.util.ArrayList或java.util.Vector代替本机数组
或者创建一个新数组并将旧数据复制到新数组中
首先,检查二维阵列的工作方式。您已声明新字符串[2][2]。然后它工作于[0][0]、[0][1]、[1][0]、[1][1]
然后与您一起检查赋值点。尝试此代码,并进行一些小的调整
Main = new String[i][2];
可能有一些元素不符合您的要求,请根据您的喜好进行更改。还修复了跳过正文的问题。那么我该怎么做呢?如果要创建新数组,需要复制itI中的旧值,我不想创建新数组,但我想升级数组“Main”的维度。你能告诉我怎么做吗,兄弟。因为我对java非常陌生。
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
int Answer;
int i=1;
System.out.print("\nPlease Enter your Name: ");
String Name = s.nextLine();
System.out.println("Welcome to Note-It "+Name+", We hope you'll enjoy our application. ");
String[][] Main = new String[10][2];
//String[] Main1 = new String[2];
Main[0][0]="Create new Note";
Main[0][1]="View My Notes";
/**for( int j=0;j<2;j++ )
Main[j]= new String[2];*/
while(true) {
System.out.println("\nPlease select what to do: \n");
for (int n = 0; n < 2; n++) {
System.out.println((n + 1) + ") " + Main[0][n]);
}
System.out.print("\nPlease enter your response: ");
Answer = s.nextInt();
s.nextLine();
if (Answer == 1) {
i++;
System.out.print("\nTitle: ");
Main[i - 1][0] = s.nextLine();
System.out.print("Body: ");
Main[i - 1][1] = s.nextLine();
} else if (Answer == 2) {
for (int k = 1; k <i; k++) {
System.out.println(1 + Main[k][0]);
}
}
}
}
}