gpt4 book ai didi

java - 数字签名 BlueJ 错误

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:56 26 4
gpt4 key购买 nike

我为这个问题编写了一个程序:

Write a program in Java to input first name, middle name and last name. Validate the digital signature that contains first name and last name. If the signature doesn't contain any of these, print "Invalid Signature". Also, print his full name in a single line.

我为此编写的程序是:

import java.io.*;
import java.io.*;
public class TaskPE_4
{
public static void main(String args[])throws IOException
{
BufferedReader read=
new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter your first name");
String fn=read.readLine();
System.out.println("Enter your middle name");
String mn=read.readLine();
System.out.println("Enter your last name");
String ln=read.readLine();
System.out.println("Enter your digital signature");
String ds=read.readLine();
ds+=" ";
if(fnCheck(fn, ds)&&lnCheck(ln, ds))
System.out.println("Valid Digital Signature");
else
System.out.println("Invalid Digital Signature");
System.out.println("Your full name is "+fn+" "+mn+" "+ln+".");
}

private static boolean fnCheck(String fn, String ds)
{
int fnl=fn.length();
int dsl=ds.length();
for(int i=0; i<=(dsl-fnl); i++)
if((ds.substring(i, (i+fnl))).equals(fnl))
return true;
return false;
}

private static boolean lnCheck(String ln, String ds)
{
int lnl=ln.length();
int dsl=ds.length();
for(int i=0; i<=(dsl-lnl); i++)
if((ds.substring(i, (i+lnl))).equals(lnl))
return true;
return false;
}
}

显示的输出是:

Enter your first name
Rachit
Enter your middle name
Rachit
Enter your last name
Bhargava
Enter your digital signature
Rachit Bhargava
Invalid Digital Signature
Your full name is Rachit Rachit Bhargava.

请帮我调试这个程序。

最佳答案

如果我答对了你的问题,我认为你应该这样做

您应该使用 contains() 函数来检查数字签名是否由名字和姓氏组成,而不是使用这些函数来检查您的数字签名。

代码:

if (ds.contains(fn)&& ds.contains(ln)) {
System.out.println("Valid Digital Signature");
} else {
System.out.println("Invalid Digital Signature");
}

输出:

Enter your first name
Rachit
Enter your middle name
Rachit
Enter your last name
Bhargava
Enter your digital signature
Rachit Bhargava
Valid Digital Signature
Your full name is Rachit Rachit Bhargava.

来源:

String.contains in Java

关于java - 数字签名 BlueJ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24847591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com