Java 方法一直给我:"cannot find symbol"
Java method keeps giving me: "cannot find symbol"
我正在编写一个解密程序。我四处张望,但我无法弄清楚是什么给我带来了错误。该代码应该采用用户输入,采用数字(标记为键),然后将字符串中的所有字符移动该数字。任何帮助将不胜感激。
这是我的代码:
import java.util.Scanner;
import java.io.*;
class Assignment3 {
public static void decipher(int key, String scanInput)
{
for (int x = 0; x < scanInput.length(); x++) {
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
deciphered = deciphered + abc.charAt(letterDecode);
}
System.out.println(deciphered);
}
public static void main(String[] args)
{
Scanner scan = new scanner(System.in);
String abc = "abcdefghijklmnopqrstuvdxyzABCDEFGHIJKLMNOPQRSTUPWXYZ";
String deciphered = "";
System.out.println("Please enter your code below");
String scanInput = scan.nextLine();
System.out.println("Please enter your key (Preferrable from 1-26");
int key = scan.nextInt();
decipher();
}
}
这些是错误:
Assignment3.java:21: error: cannot find symbol
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
^
symbol: variable abc
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable abc
location: class Assignment3
Assignment3.java:25: error: cannot find symbol
System.out.println(deciphered);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:32: error: cannot find symbol
Scanner scan = new scanner(System.in);
^
symbol: class scanner
location: class Assignment3
Assignment3.java:43: error: method decipher in class Assignment3 cannot be applied to given types;
decipher();
^
required: int,String
found: no arguments
reason: actual and formal argument lists differ in length
7 errors
首先你需要在decipher方法中声明abc和deciphered变量。
此外,不要忘记在您的方法中传递 key 和 scanInput 变量(主方法的最后一行)。
请看下面的例子:
public static void decipher(int key, String scanInput)
{
String abc = "abcdefghijklmnopqrstuvdxyzABCDEFGHIJKLMNOPQRSTUPWXYZ";
String deciphered = "";
for (int x = 0; x < scanInput.length(); x++) {
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
deciphered = deciphered + abc.charAt(letterDecode);
}
System.out.println(deciphered);
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Please enter your code below");
String scanInput = scan.nextLine();
System.out.println("Please enter your key (Preferrable from 1-26");
int key = scan.nextInt();
decipher(key, scanInput);
}
我正在编写一个解密程序。我四处张望,但我无法弄清楚是什么给我带来了错误。该代码应该采用用户输入,采用数字(标记为键),然后将字符串中的所有字符移动该数字。任何帮助将不胜感激。
这是我的代码:
import java.util.Scanner;
import java.io.*;
class Assignment3 {
public static void decipher(int key, String scanInput)
{
for (int x = 0; x < scanInput.length(); x++) {
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
deciphered = deciphered + abc.charAt(letterDecode);
}
System.out.println(deciphered);
}
public static void main(String[] args)
{
Scanner scan = new scanner(System.in);
String abc = "abcdefghijklmnopqrstuvdxyzABCDEFGHIJKLMNOPQRSTUPWXYZ";
String deciphered = "";
System.out.println("Please enter your code below");
String scanInput = scan.nextLine();
System.out.println("Please enter your key (Preferrable from 1-26");
int key = scan.nextInt();
decipher();
}
}
这些是错误:
Assignment3.java:21: error: cannot find symbol
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
^
symbol: variable abc
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:22: error: cannot find symbol
deciphered = deciphered + abc.charAt(letterDecode);
^
symbol: variable abc
location: class Assignment3
Assignment3.java:25: error: cannot find symbol
System.out.println(deciphered);
^
symbol: variable deciphered
location: class Assignment3
Assignment3.java:32: error: cannot find symbol
Scanner scan = new scanner(System.in);
^
symbol: class scanner
location: class Assignment3
Assignment3.java:43: error: method decipher in class Assignment3 cannot be applied to given types;
decipher();
^
required: int,String
found: no arguments
reason: actual and formal argument lists differ in length
7 errors
首先你需要在decipher方法中声明abc和deciphered变量。 此外,不要忘记在您的方法中传递 key 和 scanInput 变量(主方法的最后一行)。 请看下面的例子:
public static void decipher(int key, String scanInput)
{
String abc = "abcdefghijklmnopqrstuvdxyzABCDEFGHIJKLMNOPQRSTUPWXYZ";
String deciphered = "";
for (int x = 0; x < scanInput.length(); x++) {
int letterDecode = abc.indexOf(scanInput.charAt(x)) + key;
deciphered = deciphered + abc.charAt(letterDecode);
}
System.out.println(deciphered);
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Please enter your code below");
String scanInput = scan.nextLine();
System.out.println("Please enter your key (Preferrable from 1-26");
int key = scan.nextInt();
decipher(key, scanInput);
}