我需要知道如何在Java中将变量设置为这个值
假设我有一堆movies变量,我如何在movies[]变量中设置一个变量(称为year或其他什么)作为年份 (我在编程课上,我的任务是调试一个文件,我唯一的错误是我需要将year变量设置为电影中的year[]) 这是我的完整代码:我需要知道如何在Java中将变量设置为这个值,java,Java,假设我有一堆movies变量,我如何在movies[]变量中设置一个变量(称为year或其他什么)作为年份 (我在编程课上,我的任务是调试一个文件,我唯一的错误是我需要将year变量设置为电影中的year[]) 这是我的完整代码: Movie[] movies = new Movie[8]; movies[0] = new Movie("The Godfather", 1972); 无法设置电影对象的年份,因为该变量是私有的。 您需要创建一个公共方法来更改值或使变量本身公开。电影类可以有字符串
Movie[] movies = new Movie[8];
movies[0] = new Movie("The Godfather", 1972);
无法设置电影对象的年份,因为该变量是私有的。
您需要创建一个公共方法来更改值或使变量本身公开。电影类可以有字符串名称和int year字段。获取它们的setter和getter方法。 通过构造函数初始化它们,如
新电影(字符串名称,整数年)取决于如果你有一个年度变量的吸引子,或者如果年份变量是公共的,那么我真的很难理解你想做的事情。此外,你的当前代码有很多错误,你真正需要考虑的代码(并告诉我们)是<代码>电影类的定义。现在看看代码,我真的不知道我在这里做什么,这是我在这一章中的第二天,没有一个样本与此相关,我希望编程练习中会有一些东西,但我需要先完成调试任务我添加了电影[]年;我自己,它消除了我的一个错误,那就是“未找到可变年份”
Movie[] movies = new Movie[8];
movies[0] = new Movie("The Godfather", 1972);
import javax.swing.*;
public class DebugNine2
{
public static void main(String[] args)
{
Movie[] movies = new Movie[8];
Movie[] year;
int i;
String message, entry;
movies[0] = new Movie("The Godfather", 1972);
movies[1] = new Movie("The Good, the Bad, and the Ugly", 1966);
movies[2] = new Movie("Pulp Fiction", 1994);
movies[3] = new Movie("Shindler's List", 1993);
movies[4] = new Movie("Casablanca", 1942);
movies[5] = new Movie("Wizard of Oz", 1939);
movies[6] = new Movie("Citizen Kane", 1941);
movies[7] = new Movie("Some Like It Hot", 1959);
entry = JOptionPane.showInputDialog(null,
"Sort Movies by\n(N)ame, or (Y)ear");
if(entry.equals("N"))
{
nameSort(movies);
message = "Sorted by Name\n";
}
else
{
year=movies;
yearSort(year);
message = "Sorted by Year\n";
}
display(movies, message);
//System.out.println(movies+"\n"+message);
}
public static void nameSort(Movie[] array)
{
int a, b;
int highSub = array.length - 1;
for(a = 0; a < highSub; ++a)
{
for(b = 0; b < highSub; ++b)
{
String first = array[b].getName();
String second = array[b + 1].getName();
if(first.compareTo(second) > 0)
{
Movie temp = array[b];
array[b] = array[b + 1];
array[b + 1] = temp;
}
}
}
}
public static void yearSort(Movie[] array)
{
int a, b;
Movie temp;
int highSub = array.length;
for (a = 0; a < highSub; ++a)
{
for (b = 0; b < highSub; ++b)
if (array[b].getYear() > array[b + 1].getYear())
{
temp = array[b];
array[b] = array[b + 1];
array[b + 1] = temp;
}
}
}
public static void display(Movie[] s, String msg)
{
for (int i = 0; i < 8; i++)
msg = msg + s[i].getName() + ", " + s[i].getYear() + "\n";
JOptionPane.showMessageDialog(null, msg);
}
}
public class Movie
{
private String name;
private int year;
Movie(String s, int y)
{
name = s;
year = y;
}
public String getName()
{
return name;
}
public int getYear()
{
return year;
}
}