如何解决在第一次执行此代码后终止的while循环?

我最近一直在研究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!");

    }
}
red2yuri 回答:如何解决在第一次执行此代码后终止的while循环?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3130132.html

大家都在问