我在这个程序中使用 vigenere 表加密了文本,但是在编译时它给出了这个异常:线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 不是高级网络中的语句。PolyalphabetCipher.main(PolyalphabetCipher.java: 25) Java 结果:1
任何人都可以帮我纠正它,尽快
import java.util.*;
public class PolyalphabetCipher {
public static void main(String... s)
{
//createVigenereTable();
Scanner sc=new Scanner(System.in);
String key, text;
System.out.println("Enter the keyword");
key=sc.nextLine();
key=key.toUpperCase();
System.out.println("Enter text to be encrypted");
text=sc.nextLine();
text=text.toLowerCase();
text=text.replaceAll("\\s+","");
System.out.println(text);
encrypt(key,text);
}
public static int[][] createVigenereTable()
{
int table[][]=new int[26][26];
int rem=0, n=26;
int value;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
value=j+rem;
if(value>25)
{
value=value-26;
}
table[i][j]=value+65;
}
rem++;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
char b=(char)(table[i][j]);
System.out.print(b);
System.out.print(" ");
}
System.out.println();
}
return table;
}
//keyword::row and t=plainText::column
public static void encrypt(String k, String t)
{
int len=k.length();
char keyword[]=new char[t.length()];
for(int i=0, j=0;i<t.length();i++)
{
keyword[i]=k.charAt(j);
j++;
if(j==len)
j=0;
}
char cipherText[]=new char[t.length()];
int vigenere[][]=new int[26][26];
vigenere=createVigenereTable();
System.out.println(vigenere);
for(int x=0;x<t.length();x++)
{
int i=0;
int j=0;
for(int y=0;y<26;y++)
{
if(keyword[x]==vigenere[0][y])
i=y;
if(t.charAt(x)==vigenere[y][0])
j=y;
}
cipherText[x]=(char)(vigenere[j][i]);
}
System.out.println(cipherText);
}
}