Я сделал программу для вопроса:
Напишите программу на Java для ввода имени, отчества и фамилии. Проверьте цифровую подпись, содержащую имя и фамилию. Если подпись не содержит ничего из перечисленного, выведите «Invalid Signature». Кроме того, выведите его полное имя в одну строку.
Программа, которую я написал для этого:
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.
Пожалуйста, помогите мне отладить эту программу.