我非常接近最終完成這項任務,但我遇到了障礙。出于某種原因,我無法在我的方法中獲取類的呼叫方面。有沒有人有辦法做到這一點?我已將評論放在我所指的三個部分旁邊。我不知道是什么導致了這些錯誤,我感謝任何幫助。
public class Main
{
public static int w = -1;
public static int x = 0;
public static int y = 0;
public static int z = 0;
public static String[] names;
public static int[] years;
public static String[] studios;
public static class Movie{
// instance variables
private int year;
private String title;
private String studio;
private int placement;
// Constructor for objects of class Movie
Movie(String title, int year, String studio)
{
// initialize instance variables
this.title = title;
this.year = year;
this.studio = studio;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public void setPlacement() {
w =1;
this.placement = w;
}
public int getPlacement() {
return placement;
}
public String getStudio()
{
return studio;
}
public void setStudio(String studio)
{
this.studio = studio;
}
public int getYear()
{
return year;
}
public void setYear(int year)
{
this.year = year;
}
public String toString()
{
String str = String.format("%-30s M %-20s", title, year, studio);
return str;
}
}
public static void arrNames(String name) {
x =1;
names = new String[x];
names[(x-1)] = name.getTitle(); //error here, why can't I just use getTitle()?
}
public static void arrYear(String name) {
y =1;
years = new int[y];
years[(y-1)] = name.getYear(); //same error
}
public static void arrStudio(String name) {
z =1;
studios = new String[z];
studios[z-1] = name.getStudio(); //same error
}
public static void setGroup(String name) {
arrNames(name);
arrYear(name);
arrStudio(name);
}
public static void getGroups(String name) {
int a = x;
int b = y;
int c = z;
int d = 0;
int e = 0;
int f = 0;
System.out.println("Names Category: ");
while (a > 0) {
System.out.print(names[d] " ");
d =1;
a-=1;
}
System.out.println("Years Category: ");
while (b > 0) {
System.out.print(years[e] " ");
e =1;
b-=1;
}
System.out.println("Studios Category: ");
while (c > 0) {
System.out.print(studios[f] " ");
f =1;
c-=1;
}
public static void main(String[] args) {
Movie nemo = new Movie("Finding Nemo",2003,"Pixar");
setGroup(nemo.getTitle());
}
}
uj5u.com熱心網友回復:
我將舉這個例子:
public static void arrYear(String name) {
y =1;
years = new int[y];
years[(y-1)] = name.getYear(); //same error
}
您正在嘗試在變數名稱上使用方法 getYear 并且名稱是字串而不是電影物件您可以像這樣將引數從字串替換為電影:
public static void arrYear(Movie name) {
y =1;
years = new int[y];
years[(y-1)] = name.getYear(); //same error
}
它應該適用于您的所有功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/447989.html
