将输入作为一个字符串,帮助修复 main,因此它只需要一个输入
Take in input as one string, help fix main so it only asks for one input
目前我有一个 class 可以移动给定字符串的输入以打印输出。该程序运行良好并具有正确的输出,但是我不确定如何修复 main 以便它只需要请求一个字符串而不是四个单独的字符串。请说明您将如何解决此问题
示例输出:WVOGJTXQHUHXICWYYMGHTRKQHQPWKYVGLPYSPWGOINTOFOPMO
我唯一的问题是 main 如何要求四个单独的输入,我希望它只要求一个字符串,请说明如何
public class shiftRows {
public static String Shift(String str, int shiftNum)
{
char[] out = new char[4];
if(shiftNum==1)
{
out[0]=str.charAt(1);
out[1]=str.charAt(2);
out[2]=str.charAt(3);
out[3]=str.charAt(0);
}
if(shiftNum==2)
{
out[0]=str.charAt(2);
out[1]=str.charAt(3);
out[2]=str.charAt(0);
out[3]=str.charAt(1);
}
if(shiftNum==3)
{
out[0]=str.charAt(3);
out[1]=str.charAt(0);
out[2]=str.charAt(1);
out[3]=str.charAt(2);
}
return new String(out);
}
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
String[] input=new String[4];
String[] output=new String[4];
System.out.println("Enter 4 String's :");
for(int i=0;i<4;i++)
{
input[i]=sc.next();
}
output[0]=input[0];
for(int i=1;i<4;i++)
{
output[i]=Shift(input[i],i);
}
for(int i=0;i<4;i++)
{
System.out.println(output[i]);
}
}
}
提供相同的输出,并使用单个连续字符串的输入。
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String[] input= new String[4];
String[] output= new String[4];
// -
System.out.println("Enter a String");
String inputStr = sc.next();
for (int i = 0, n = 0; i < 4; i++, n+=4) {
input[i] = inputStr.substring(0+n, 4+n);
}
// -
output[0] = input[0];
for(int i=1; i<4; i++)
{
output[i] = Shift(input[i],i);
}
for(int i=0; i<4; i++)
{
System.out.println(output[i]);
}
}
目前我有一个 class 可以移动给定字符串的输入以打印输出。该程序运行良好并具有正确的输出,但是我不确定如何修复 main 以便它只需要请求一个字符串而不是四个单独的字符串。请说明您将如何解决此问题
示例输出:WVOGJTXQHUHXICWYYMGHTRKQHQPWKYVGLPYSPWGOINTOFOPMO
我唯一的问题是 main 如何要求四个单独的输入,我希望它只要求一个字符串,请说明如何
public class shiftRows {
public static String Shift(String str, int shiftNum)
{
char[] out = new char[4];
if(shiftNum==1)
{
out[0]=str.charAt(1);
out[1]=str.charAt(2);
out[2]=str.charAt(3);
out[3]=str.charAt(0);
}
if(shiftNum==2)
{
out[0]=str.charAt(2);
out[1]=str.charAt(3);
out[2]=str.charAt(0);
out[3]=str.charAt(1);
}
if(shiftNum==3)
{
out[0]=str.charAt(3);
out[1]=str.charAt(0);
out[2]=str.charAt(1);
out[3]=str.charAt(2);
}
return new String(out);
}
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
String[] input=new String[4];
String[] output=new String[4];
System.out.println("Enter 4 String's :");
for(int i=0;i<4;i++)
{
input[i]=sc.next();
}
output[0]=input[0];
for(int i=1;i<4;i++)
{
output[i]=Shift(input[i],i);
}
for(int i=0;i<4;i++)
{
System.out.println(output[i]);
}
}
}
提供相同的输出,并使用单个连续字符串的输入。
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String[] input= new String[4];
String[] output= new String[4];
// -
System.out.println("Enter a String");
String inputStr = sc.next();
for (int i = 0, n = 0; i < 4; i++, n+=4) {
input[i] = inputStr.substring(0+n, 4+n);
}
// -
output[0] = input[0];
for(int i=1; i<4; i++)
{
output[i] = Shift(input[i],i);
}
for(int i=0; i<4; i++)
{
System.out.println(output[i]);
}
}