JAVA:为啥我不能访问同一个类中的方法?
Posted
技术标签:
【中文标题】JAVA:为啥我不能访问同一个类中的方法?【英文标题】:JAVA: Why can't I access a method in the same class?JAVA:为什么我不能访问同一个类中的方法? 【发布时间】:2014-03-28 02:56:14 【问题描述】:我似乎无法找出为什么我的静态方法无法调用同一类中的其他方法。我该怎么办?
import java.util.Scanner;
import java.util.*;
public class MashupII
public void Append(Sound clip, boolean rev, double scale)
//Void methods...
//main method
public static void main (String [] args)
Scanner keyboard = new Scanner(System.in);
clips = new Sound[100];
System.out.println("Please enter your command (A, I, D, P or Q)");
char command = Character.toUpperCase(keyboard.next().charAt(0));
while (command != 'Q')
switch (command)
case 'A':
//APPENDING
//pick the clip
System.out.println("Please pick a file.");
Sound clip = new Sound(FileChooser.pickAFile());
//reversing
System.out.println("Would you like to reverse the clip? (Y|N)");
String reverse = keyboard.nextLine();
boolean rev = reverse.equalsIgnoreCase("Y");
//scaling
System.out.println("How much should the clip be scaled? (1 is no scaling)");
double scale = keyboard.nextDouble();
clips.Append(clip,rev,scale);
break;
case 'I':
break;
case 'D':
System.out.println("Which clip would you like to delete? (1- end)");
int p = keyboard.nextInt();
clips.Delete(p);
break;
case 'P':
break;
default:
System.out.println("Error! Please enter one of the available commands (A, I, D, P or Q)");
System.out.println("Please enter another command (A, I, D, P or Q)");
command = Character.toUpperCase(keyboard.next().charAt(0));
我在开关盒中收到错误。它给了我一个找不到的符号。任何帮助都会很棒!
【问题讨论】:
找不到哪个符号?clips.Append(clip,rev,scale);
... Clips 是您的声音阵列。
我没有看到你使用MashupII
中声明的任何方法。
同意.. @user1760791 请输入正确的代码 sn-p。
请发布一个简短但完整的程序来说明问题。
【参考方案1】:
clips 不是您的 MashupII 类的实例,这就是您无法调用 MashupII 的 append() 方法的原因。
【讨论】:
以上是关于JAVA:为啥我不能访问同一个类中的方法?的主要内容,如果未能解决你的问题,请参考以下文章