我正在尝试创建自己的方法以在我的main方法中使用。我已经要求用户输入我的main方法并使用下一行捕获它。但是,我无法在其他方法中使用它。
static Scanner keyboard = new Scanner(System.in);
public static void main (String[] args) {
System.out.println("Input string of any length");
String s = keyboard.nextLine();
System.out.println("If you want to the program to check if palindrome, type 1."+
" If you want the program to compute rounded sum, type 2. If you want " +
"the program to count unique characters, type 3");
String o = keyboard.nextLine();
if (o.equals("1"))
System.out.println(isPalindrome());
}
public static boolean isPalindrome () {
boolean palindrome = true;
String s = keyboard.nextLine();
它要求我在我的另一种方法中重新定义字符串s
,即使已经在主要方法中定义了它。
答案 0 :(得分:3)
这是因为范围可变。每个变量只存在于程序的某个部分中,而其他部分可以具有不同的变量,这些变量具有仅存在于该部分中的相同名称。
有很多关于这个主题的教程。例如:
http://docs.oracle.com/javase/tutorial/java/javaOO/variables.html
答案 1 :(得分:0)
再添加到Tim B的回答中,让一个功能完整且完整的声音总是好的。
即。而不是
public static boolean isPalindrome ()
使用
public static boolean isPalindrome (String text)
并传入要检查回文的文字。这使功能更加完整。对待一个像问别人问题的功能。 "这篇文章是回文吗?"而不是"是回报吗?"。