我需要在java中使用String和Matrix生成一个特定的模式。用户应该能够输入A-Z中的任何奇数位字符。例如,如果用户选择G,则输出应为:
ABCDEFGFEDCBA
ABCDEF和FEDCBA
ABCDE与EDCBA的合作
ABCD * DCBA
美国广播公司,中国
百威英博,英特尔,英特尔
*
我尝试了下面的代码:但是我没有得到想要的输出:
import java.io.IOException;
import java.util.Scanner;
public class PatternDemo3
{
public static void main(String[] args) throws IOException
{
Scanner in=new Scanner(System.in);
System.out.println("Enter a odd positioned letter from A to Z to create the pattern : ");
char input=(char)System.in.read();
int val=(int)input;
int newvalue=val-64;
for (int i =newvalue; i >=0; i--)
{
int begining=65;
for (int j = 0; j < i; j++)
{
System.out.print((char)begining);
begining++;
}
int newbeg=begining-1;
for(int k=0;k<(2*i-1);k++)
{
System.out.print(" ");
}
for (int j = 0; j <i; j++)
{
System.out.print((char)newbeg);
newbeg--;
}
System.out.println("");
}
}
}发布于 2015-04-15 22:56:33
这是编辑我收到的响应后的最终代码。
import java.io.IOException;
import java.util.Scanner;
public class PatternDemo3
{
public static void main(String[] args) throws IOException
{
Scanner in=new Scanner(System.in);
System.out.println("Enter a odd positioned letter from A to Z to create the pattern : ");
char input=(char)System.in.read();
int val=(int)input;
int newvalue=val-64;
for (int i =newvalue; i >=0; i--)
{
int begining=65;
for (int j = 0; j < i; j++)
{
System.out.print((char)begining);
begining++;
}
int newbeg=begining-1;
for(int k=1; k< 2 * (newvalue-i);k++)
{
System.out.print(" ");
}
for (int j = 0; j <i; j++)
{
if((char)newbeg!=input)
{
System.out.print((char)newbeg);
}
newbeg--;
}
System.out.println("");
}
}
}https://stackoverflow.com/questions/29631506
复制相似问题