import java.util.Scanner;
public class main
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
String input, scramble;
System.out.println("Input message to be coded: ");
input = keyboard.nextLine();
System.out.println("Input: " + input);
for (int i = 0; i < input.length(); i++)
{
scramble += scrambleMessage(input.charAt(i));
}
System.out.println("Coded message is: " + scramble);
}
public static char scrambleMessage( char c, int x)
{
int charc = c;
if (!Character.isLetter(c))
return c;
charc = (charc * (charc - 1))/(charc + (charc - 1)) + 5;
return (char)charc;
}
}
当我尝试编译此代码时,它显示:
: error: method scrambleMessage in class main cannot be applied to given types;
scramble += scrambleMessage(input.charAt(i));
^
我不明白它说的是错误的。该程序的目的是获取在 main 中输入的字符串并通过 scrambleMessage() 函数运行它以更改字母。我通过逐个字符地运行字符串来运行它,使每个字符成为相应的数字,然后将其重新制成一个字符。不确定发生了什么导致我出现此错误。
最佳答案
你说的错误:
main 类型中的方法 scrambleMessage(char, int) 不适用于参数 (char)
,
您需要传递 char 和 int ,只需传递一个参数。
或编辑
public static char scrambleMessage( char c, int x)
至
public static char scrambleMessage( char c)
我认为你还有另一个这样的错误:
The local variable scramble may not have been initialized
您必须更改此行:
String input, scramble ;
到
String input, scramble = "";
关于java - java中的方法无法应用于给定类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770654/