我有一个自定义类"CarSharing",其属性为"availableCars".ArrayList availableCars在构造函数中被初始化.当我创建一个CarSharing对象并尝试在方法中调用ArrayList时,我得到一个java.lang.NullPointerException.
public class CarSharing {
private ArrayList<Car> availableCars;
public CarSharing() {
ArrayList<Car> availableCars = new ArrayList<Car>();
// I can use the List inside of the constructor
}
public void addAvailableCar(Car newCar) {
availableCars.add(newCar);
// Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at CarSharing.addVerfuegbaresAuto(CarSharing.java:12)
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢.
我目前正在制作一个程序,用户输入一个班级中学生的数量,然后(在一个循环中),用户输入学生编号和他们的平均成绩,然后,在计算后,打印出班级的最高分,最低分和平均分.
这是我到目前为止所做的:
import java.util.Scanner;
public class ClassMarks {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter number of students in class: ");
int students = input.nextInt();
int x = students;
while (x > 0) {
System.out.println("Enter student number: ");
double studentNumber = input.nextDouble();
System.out.println("Enter student grade: ");
double studentGrade = input.nextDouble();
x = x - 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种让程序为我创建一个新变量的方法,该变量将每个新用户输入学生成绩存储在while循环中.ex)studentGrade1,studentGrade2,studentGrade3 ...
在这个方法中,我试图找到一个第一个偶数整数ArrayList(供进一步使用).
但是,当我调用方法时,我得到-1.据我所知,这意味着列表中没有整数(但确实存在).
这是代码:
public static int rangeBetweenEvens(ArrayList<Integer> list) {
int firstEven = 0;
for (int i = 0; i < list.size(); i++)
{
firstEven = list.indexOf((i) % 2 == 0);
}
return firstEven;
}
Run Code Online (Sandbox Code Playgroud) 我try和他有问题catch.我的程序是插入三个不同的字符串名称,地址和电话号码然后我使用toString方法将这三个转换为单个字符串.
每当我写错选项(String或其他数据类型)时,我都会遇到异常处理问题,然后捕获无限次.
import java.util.ArrayList;
import java.util.Scanner;
public class mainClass {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
ArrayList<String> arraylist= new ArrayList<String>();
CreateFormat FormatObject = new CreateFormat();
int choice;
String phoneNumber;
String name,address;
String format="Empty";
int x=1;
int flag=0;
do
{
try
{
System.out.println("Enter your choice");
System.out.printf("1:Enter new data\n2:Display data");
choice=input.nextInt();
switch (choice)
{
case 1:
{
System.out.println("Enter name ");
name=input.next();
System.out.println("Enter phone number");
phoneNumber=input.next();
System.out.println("Enter address");
address=input.next();
format=FormatObject.toString(phoneNumber, name, address);
arraylist.add(format); …Run Code Online (Sandbox Code Playgroud) 所有!
当我在Java上设计我的项目时遇到了以下主要问题:
我需要编写的程序是允许用户输入一些数据然后以特定格式保存的接口.在项目中我存储数据ArrayList<>.
public class CQuestionnaire
{
// fields
private final List<CQuestStage> m_lstStages;
…
}
Run Code Online (Sandbox Code Playgroud)
用户界面基于TableView.所以我需要ObservableList<>连接数据和TableView.我认为直接链接TableView列表是一个很好的决定CQuestionnaire.所以我getObservableList()为此目的实施:
public class CQuestionnaire
{
// fields
private final List<CQuestStage> m_lstStages;
public ObservableList<CQuestStage> getObservableList()
{
return FXCollections.observableArrayList(m_lstStages);
}
…
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为FXCollections.observableArrayList()列表的返回副本和所有用户的操作不会更改CQuestionnaire成员.
现在的问题是:有没有什么办法如何链接TableView与ArrayList<>不改变其类型ObservableList<>(离开单独的数据和视图),并不会产生明显的列表所必需的TableView唯一?
当然我已经阅读了这个主题(JavaFX,Casting ArrayList to ObservableList).但问题是FXCollections.observableArrayList()副本列表中的源列表CQuestionnaire和之间没有链接TableView.
我是JSONArray从服务器上来的.在JSON我收到的格式如下.
[ {
"area_name":"abc",
"coordinates":[
{
"lat":1.123,
"lng":2.123,
},
{
"lat":1.123,
"lng":2.123,
},
.
.
]
},
{
.
.
.
}
]
Run Code Online (Sandbox Code Playgroud)
为了绘制地图上的区域,我正在添加区域areaList和它们的相应坐标coordinatesList
ArrayList<HashMap<String, LatLng>> coordinatesList; // initialised in onCreate
List<ArrayList<HashMap<String, LatLng>>> areaList; // initialised in onCreate
for (int i = 0; i < areaArray.size(); i++) {
coordinatesList.clear();
//coordinatesList = new ArrayList<>();
// parsing of json and other non-related stuff
for (int j =0; j < pointsArray.size(); j++) {
// Getting data …Run Code Online (Sandbox Code Playgroud) 在我的for-loop下面,我试图添加所有car IDS关联到persons具有特定状态的a.
我的代码编译并运行,但是arrayList:的大小listOfCarIds保持为0.即似乎没有添加任何东西
我是如何实现这一点的?
for(int i=0 ; i < personsWithStatus.size() ; i++)
{
idOfCarRelatingToPerson = personsWithStatus.get(i).getCarId();
List<String> listOfCarIds = new ArrayList();
listOfCarIds.add(idOfCarRelatingToPerson);
}
Run Code Online (Sandbox Code Playgroud) 我试图冒泡排序数组列表,我不断收到错误bad operand types for binary operator '>'我试图按数字顺序对它进行排序,以获得下面列出的测试分数.我是java的新手,对于该怎么做我很困惑.我很确定整数存储在列表中.
我的代码是:
public static void sort(){
int k = 0;
boolean exchangeMade = true;
while((k < classroom.size() - 1) &&exchangeMade){
exchangeMade = false;
k++;
for (int j = 0; j < classroom.size() - k; j++)
if(classroom.get(j) > classroom.get(j+1)){
swap(j, j+1);
swap(classroom, j, j+1);
exchangeMade = true;
}
}
Run Code Online (Sandbox Code Playgroud)
该程序的其余代码是
public class Test {
private static FileInputStream inFile;
private static InputStreamReader inReader;
private static BufferedReader reader;
private static List<Student> classroom =
new ArrayList<Student>(); …Run Code Online (Sandbox Code Playgroud) 在我的业务逻辑中,我想用另一个列表完全替换一个列表.
以下方法是否正确?
public class TestListReplacement {
public static void main(String[] args) {
List<String> values= new ArrayList<String>();
values.add("a");
values.add("b");
values.add("c");
values.add("d");
values.add("e");
values.add("f");
List<String> valuesNew= new ArrayList<String>();
valuesNew.add("g");
valuesNew.add("h");
valuesNew.add("i");
valuesNew.add("j");
valuesNew.add("k");
values= valuesNew;
for(String val:values){
System.out.println(val);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但我想知道,在某些用例中,它可能无法正常工作.