我最近一直在研究String编码器,它将一个句子转换为代码,每个数字代表空格中的字母位置(空格为0)。它有一个while循环,可在首次执行后但输入1后重新启动代码,它要求输入一个字符串,但在执行此操作之前,它要求重新启动。
import java.util.*;
class String_coder
{
public static void main (String args[])
{
String abc = " abcdefghijklmnopqrstuvwxyz";int restart = 1,k;
Scanner sc = new Scanner(System.in);
//creates an array of every letter in abc
char ABC[] = new char[abc.length()];
for (k = 0; k < abc.length(); k++)
{
ABC[k] = abc.charAt(abc.length() - (k+1)); //enters each letter into the array in order
}
//Introduction
System.out.println("Alkalyne Systems String Coder");
System.out.println();
System.out.println("Enter any sentence and convert it to a code");
while(restart==1)
{
int i = 0,j = 0,l = 0,alp = 0,abcPos = 0;
String a = " ";
//Inputs a String
System.out.println();
System.out.println("Enter a string");
a = sc.nextLine();
a = a.toLowerCase(); //Converts to lower case
//creates an array of every character in the String
char aConv[] = new char[a.length()];
for (i = 0; i < a.length(); i++)
{
aConv[i] = a.charAt(a.length() - (i+1)); //enters each letter into the array in order
}
//Compares each letter in aConv with letter in abc to find position
System.out.print("|");
for (alp = a.length()-1;alp >=0;alp--)
{
for (abcPos = abc.length()-1; abcPos >= 0;abcPos--)
{
if (aConv[alp] == ABC[abcPos])
{
System.out.print(abc.length() - (abcPos + 1));
System.out.print("|");
}
}
}
System.out.println();
//restart
System.out.println("Would you like to restart?");
System.out.println("1 - Yes|0 - No");
restart = sc.nextInt();
}
//Exit Message
System.out.println("Thank you for using String Coder");
System.out.println("Have a wonderful day!");
}
}