帮我看看我写的JAVA程序吧 知识有限 给整的自己都快不认识了...
packagecom.king;importjava.util.*;publicclassTest03{Scanners=newScanner(System.in);St...
package com.king;import java.util.*;
public class Test03 { Scanner s=new Scanner(System.in); String b; char c[]; char f[]; int count=0; Test03 t=new Test03(); public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println("请输入一行字符串后按回车"); String a=s.nextLine(); System.out.println("请输入一个英文字母作为密钥"); String b=s.next(); char c[]=a.toCharArray(); char f[]=b.toCharArray(); System.out.println("你输入的内容是:"); for(int i=0;i<c.length;i++) { System.out.print(c[i]); } System.out.println(); for(int i=0;i<c.length;i++){ c[i]=(char)(c[i]^f[0]); } System.out.println("加密后的内容是:"); for(int i=0;i<c.length;i++) { System.out.print(c[i]);} System.out.println(); } public void putIn(){ System.out.println("请输入密钥 如果正确将显示最初输入的内容。"); String k=s.next(); while(count<3) { if(k.equals(b)) { for(int i=0;i<c.length;i++){ c[i]=(char)(c[i]^f[0]); } } else { System.out.println("密钥错误"); count++; t.putIn(); } } } }
我想实现的功能就可以输入密钥显示之前输入的一段字符串 如果密钥输入错误超过三次就提示不能再输入然后退出 我不知道怎么将控制台输入的数据让几个方法都可以调用到 所以代码写的很繁琐其中有些肯定是多余的....求大神帮我改改 完成上述功能就可以了 谢谢 这段代码我运行过了 前面一部分可以出来 后面判断的那部分没结果 不知道怎么写了 展开
public class Test03 { Scanner s=new Scanner(System.in); String b; char c[]; char f[]; int count=0; Test03 t=new Test03(); public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println("请输入一行字符串后按回车"); String a=s.nextLine(); System.out.println("请输入一个英文字母作为密钥"); String b=s.next(); char c[]=a.toCharArray(); char f[]=b.toCharArray(); System.out.println("你输入的内容是:"); for(int i=0;i<c.length;i++) { System.out.print(c[i]); } System.out.println(); for(int i=0;i<c.length;i++){ c[i]=(char)(c[i]^f[0]); } System.out.println("加密后的内容是:"); for(int i=0;i<c.length;i++) { System.out.print(c[i]);} System.out.println(); } public void putIn(){ System.out.println("请输入密钥 如果正确将显示最初输入的内容。"); String k=s.next(); while(count<3) { if(k.equals(b)) { for(int i=0;i<c.length;i++){ c[i]=(char)(c[i]^f[0]); } } else { System.out.println("密钥错误"); count++; t.putIn(); } } } }
我想实现的功能就可以输入密钥显示之前输入的一段字符串 如果密钥输入错误超过三次就提示不能再输入然后退出 我不知道怎么将控制台输入的数据让几个方法都可以调用到 所以代码写的很繁琐其中有些肯定是多余的....求大神帮我改改 完成上述功能就可以了 谢谢 这段代码我运行过了 前面一部分可以出来 后面判断的那部分没结果 不知道怎么写了 展开
3个回答
展开全部
如下代码已经可以跑了,其他问题你自行处理吧
package com.baidu.huangcy.solve;
import java.util.Scanner;
public class Test03 {
private static String b;
private static char password[];
private static char code[];
private static int count = 0;
// Test03 t = new Test03();
private static Scanner s = new Scanner(System.in);
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一行字符串后按回车");
String a = s.nextLine();
System.out.println("请输入一个英文字母作为密钥");
b = s.next();
password = a.toCharArray();
code = b.toCharArray();
System.out.println("你输入的原始密码是:");
for (int i = 0; i < password.length; i++) {
System.out.print(password[i]);
}
System.out.println();
System.out.println("你输入的掩码是:" + code[0]);
System.out.println();
for (int i = 0; i < password.length; i++) {
password[i] = (char) (password[i] ^ code[0]);
}
System.out.println("加密后的内容是:");
for (int i = 0; i < password.length; i++) {
System.out.print(password[i]);
}
System.out.println();
putIn();
}
public static void putIn() {
System.out.println("请输入密钥 如果正确将显示最初输入的内容。");
String k = s.next();
while (count < 3) {
if (k.equals(b)) {
for (int i = 0; i < password.length; i++) {
password[i] = (char) (password[i] ^ code[0]);
}
System.out.println("解密后的内容是:");
for (int i = 0; i < password.length; i++) {
System.out.print(password[i]);
}
break;
} else {
System.out.println("密钥错误");
count++;
putIn();
}
}
}
}
展开全部
public class Test03 { static Scanner s=new Scanner(System.in); static String b; static char c[]; static char key; static int count=0; public static void main(String[] args) { System.out.println("请输入一行字符串后按回车"); String a=s.nextLine(); System.out.println("请输入一个英文字母作为密钥"); while(true) { b=s.next(); key=b.charAt(0); if(b.length() == 1 && Character.isLetter(key)) { break; } else { System.out.println("输入错误。请输入一个英文字母作为密钥"); } } c=a.toCharArray(); System.out.println("你输入的内容是:"); System.out.println(a); for(int i=0; i < c.length; i++) { c[i]=(char)(c[i] ^ key); } System.out.println("加密后的内容是:"); for(int i=0; i < c.length; i++) { System.out.print(c[i]); } System.out.println(); putIn(); } public static void putIn() { while(count < 3) { System.out.println("请输入密钥 如果正确将显示最初输入的内容。"); String k=s.next(); if(k.equals(b)) { for(int i=0; i < c.length; i++) { c[i]=(char)(c[i] ^key); System.out.print(c[i]); } break; } else { System.out.println("密钥错误"); count++; } } }}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你弄的这个格式 看起来 太费劲了
追问
我也不想。。。我传上来的时候还是换行显示的 一点提交就成这样了 大家凑合着看看吧 谢啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询