我正在尝试读取java中的字符串值集,但我只能读取最多n-1个值,例如,如果字符串数组大小为4,我只能提供3个输入。 这是我的代码。
package my_project;
import java.util.Scanner;
public class ArrayString
{
public static void main(String[] args)
{
int n;
String key;
Scanner sc=new Scanner (System.in);
System.out.println("Enter the no of courses:");
n=sc.nextInt();
if(n<=0)
{
System.out.println("Invalid range");
System.exit(0);
}
System.out.println("The available courses are:");
String [] courses=new String[n];
for(int i=0;i<n;i++)
{
courses[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
{
if(courses[i].equals("java"))
{
System.out.println("course is available ");
System.exit(0);
}
}
}
}
最佳答案
public static void main(String... args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.print("Enter the no of courses: ");
int n = sc.nextInt();
sc.nextLine(); // add this to read String after int
if (n <= 0)
System.out.println("Invalid range");
else {
System.out.println("The available courses are:");
String[] courses = new String[n];
for (int i = 0; i < n; i++) {
System.out.format("#%d: ", i + 1);
courses[i] = sc.nextLine();
}
for (int i = 0; i < n; i++) {
if ("java".equalsIgnoreCase(courses[i])) {
System.out.println("course is available");
return;
}
}
}
}
}
关于java - 读取字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61013978/