java - 使用 java 使用字符串和矩阵生成特定模式

标签 java string matrix

我需要使用java中的字符串和矩阵生成特定的模式。用户应该能够输入 A-Z 中的任何奇数位置字符。例如,如果用户选择 G,则输出应为:

ABCDEFGFEDCBA
ABCDEF   FEDCBA
ABCDE        EDCBA
ABCD             DCBA
ABC                   CBA
AB                        BA
                            一个


我尝试了以下代码:但我没有得到所需的输出:

    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("");            
        }        
    }    
}

最佳答案

这是编辑我收到的回复后的最终代码。

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("");            
        }        
    }    
}

关于java - 使用 java 使用字符串和矩阵生成特定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631506/

相关文章:

javascript - 匹配 PegDown+JSoup 输出到 PageDown 输出

java - Java 中哪个函数类似于 Lotusscript 中的 LIKE 运算符

java - Activity Intent 子级不向父级返回数据,不显示 toast

javascript - 删除 URL 开头的字符串

caching - 以 block 为单位拆分矩阵如何提高缓存命中率?

algorithm - 微软面试 : transforming a matrix

java - SWT Canvas 在重绘时不显示图像,除非其像素为 5x5

java - 如何使用 writeString( ) 方法在用户从对话框中输入的名称周围加上引号?

python - 有没有办法在 Python 的多行字符串中使用变量?

python - 使用python将 'repetitive' 2D数组转换为矩阵