java + nextLine()从索引1开始,而不是索引0

时间:2018-05-13 03:08:27

标签: java arrays

问题如下:

Greendart Shipping Company因圣诞节周末的活动而热闹非凡,他们有很多货物需要运输。船长Ashok指示他的团队将货物装入货物并给他们一份清单,其中包含所有货物名称和相应的货物ID。货物通常按顺序装载,即第一批货物登上第一批货物,第二批货物登上第二批货物等, 在白天休息期间,阿肖克希望手动监督他的团队的工作。他随机抽出一个货物名称并验证它是否登上了正确的货物。由于这项任务效率不高,他希望装运管理系统自动监督。鉴于Cargo Id,他希望系统能够为他提供登上货物的名称。如果货物中没有装运,则应打印“尚待装运”。

输入格式:  第一个输入对应于货物的数量。  第二组输入对应于货物ID。  第三个输入对应于发货数量。  第四组输入对应于装运名称。  第五输入对应于要搜索的货物ID。 输出格式:   有关格式规范,请参阅示例输入和输出。

[所有粗体文本对应输入,其余对应输出。] 样本输入和输出1: 输入货物数量 的 4 输入货物ID

100

101

102

103

输入发货数量

4

输入货件名称

电风扇

空调

吊扇

相机

输入货物ID

102

吊扇

示例输入和输出2:

输入货物数量

第3

输入货物ID

123

124

125

输入发货数量

2

输入货件名称

打印机

Xerox Machine

输入货物ID

125

尚未发货

到目前为止我的代码是:

import java.util.*;

public class Main{
public static void main(String args[]) throws Exception{

Scanner reader = new Scanner(System.in);

System.out.println("Enter the number of cargo");
int n = reader.nextInt();

int[] cargoid = new int[n];

System.out.println("Enter the cargo id");
//get cargo ids
for(int i=0; i<n; i++){
cargoid[i] = reader.nextInt();
System.out.println(i +" " +cargoid[i]);
}

//get shipment names
System.out.println("Enter the number of shipment");
int m = reader.nextInt();
String[] shipname = new String[m];

System.out.println("Enter the shipment name");
for(int j=0; j<m+1; j++){
shipname[j]=reader.nextLine();
System.out.println(j +" " +shipname[j]);
}

我发现shipname从索引1而不是0开始。使用当前代码,编辑器模拟结果。在此处附加屏幕截图screenshot

0 个答案:

没有答案