import java.util.ArrayList;
import java.util.*;
public class Solution {
public static void main (String args []){
ArrayList<String> cars=new ArrayList<String>();
Scanner sc =new Scanner (System.in);
System.out.println(" enter the size of the list ");
int size=sc.nextInt();
for( int i =0;i<size;i++){
cars.add(i,sc.nextLine());
}
System.out.println(cars);
sc.close();
}
}
这个程序应该输出
1,2,3,4
但是如果我输入的大小是4,我只输入这些值,但是如果我写的大小是4。。。它不需要我提供4个参数,而是需要3个参数并打印('',1,2,3)
请帮帮忙
当你做列表时。add(i,value)
它所做的是将值保留在of
列表的
i
索引中
什么。下一行
是否读取下一行的空白,这会导致列表的第一个位置出现
*空格*
所以当你在做汽车时。add(i,sc.nextLine())
这是在第一个索引ie0
中添加空格。你能做的就是。
for( int i =0;i<size;i++){
cars.add(i,sc.next());
}
当你执行
sc.next()
时,它会检查下一个字符,而不是遍历下一行。
您需要在for循环之前添加sc.nextLine()
。
当您输入一个数字时,然后按enter
,输入。nextInt()
只取数字,不取行尾。但是,当您执行输入时。nextLine()
,它从第一个输入中获取已经在缓冲区中的行的末尾。始终使用输入。nextLine()
输入后立即执行。nextInt()
您试图接受一个数字,但已将数组列表
类型声明为字符串
。您的代码将如下所示
import java.util.ArrayList;
import java.util.*;
public class Main
{
public static void main(String[] args) {
ArrayList<String> cars=new ArrayList<String>();
Scanner sc =new Scanner (System.in);
System.out.println(" enter the size of the list ");
int size=sc.nextInt();
sc.nextLine();
for( int i =0;i<size;i++){
cars.add(i,sc.nextLine());
}
System.out.println(cars);
sc.close();
}
}
nextLine()遍历指向下一行的指针。所以使用next解决了这个问题
import java.util.ArrayList;
import java.util.*;
public class Solution {
public static void main (String args []){
ArrayList<String> cars=new ArrayList<String>();
Scanner sc =new Scanner (System.in);
System.out.println(" enter the size of the list ");
int size=sc.nextInt();
for( int i =0;i<size;i++){
System.out.println(" enter the " + i + " number : ");
cars.add(i, sc.next());
}
System.out.println(cars);
sc.close();
}
}
问题内容: 我知道您可以通过执行 node.requestFocus(); 来将焦点集中在javafx中的一个节点上 。 但是有没有办法从javafx中的节点上夺走焦点或阻止对某个对象的焦点? 问题答案: 我不认为有任何保证将始终有效,但是您可以尝试将焦点设置为本质上不接受键盘输入的内容(例如布局窗格):
问题内容: 是否有可能以某种方式忽略此错误?我发现将自己不想运行的代码放在前面比注释它要容易得多(当注释重叠并且表现不佳时)… 问题答案: 否。这是编译时错误。因此,在运行课程之前,您 必须 摆脱它。 我通常要做的是在其前面放置一个虚假陈述。就像是: 使用此代码,您将不会出错。您将得到想要的东西。
我在本地计算机上将一条太大的消息推送到Kafka消息主题中,现在我收到一个错误: 增加在这里并不理想,因为我实际上不想接受那么大的消息。
我正在编写一个JavaFractal Explorer,分形计算是多线程完成的。以前,我只是创建了一堆线程(系统有多少处理器内核就有多少)并将它们保存在一个数组中,但这会导致一些问题,而且不是很优雅,现在我想切换到执行器。 我需要的功能是: 用户可以随时选择要放大的分形图像的新区域,因此应该可以随时取消计算,并立即重新插入新任务 我的问题是Java ExecutorService(我使用Execu
我认为这些信息在开始的时候真的很重要,但是后来就没有用了。它实际上使读取和调试的情况变得更糟。 I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcublas。所以8.0本地I tensorflow/流执行器/dso加载器。抄送:119]无法打开CUDA库libcudnn。所以LD_库路径:I tensorflow/stream_executor/cuda/
问题内容: 我有一种方法可以做很多事情。其中包括进行大量插入和更新。因此宣布… 它的工作完全符合预期,我对此没有任何问题。但是在某些情况下,尽管没有异常,但我还是想强制回滚…目前,当我遇到合适的条件时,我正在强制异常,但这很丑陋,我不喜欢它。 我可以以某种方式积极地调用回滚吗?异常调用它…我在想也许我也可以。 问题答案: 在Spring Transactions中,您使用。 您在这里遇到的问题是您