在java中如何逆时针旋转此数组?

在java中如何逆时针旋转此数组?,java,Java,这里有个问题。请帮帮我 输入一个星束。(星=“*”) 假设你一个接一个地输入一组星星。 逆时针旋转90度输出。 在第一行中,用空格分隔星形束。存储星形捆绑包的数组必须用空格字符(“”)初始化。 从第二行开始,打印一个旋转星 import java.util.Scanner; 公共类旋转{ 公共静态void main(字符串[]args){ 扫描仪sc=新的扫描仪(System.in); int n=sc.nextInt(); int[]A=新的int[n][n]; int K=1; 对于(in

这里有个问题。请帮帮我

输入一个星束。(星=“*”) 假设你一个接一个地输入一组星星。 逆时针旋转90度输出。 在第一行中,用空格分隔星形束。存储星形捆绑包的数组必须用空格字符(“”)初始化。 从第二行开始,打印一个旋转星

import java.util.Scanner;
公共类旋转{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
int[]A=新的int[n][n];
int K=1;

对于(int i=0;i使用
s=sc.nextLine()
将输入作为字符串。例如,如果用户输入
******
,则得到与
s=“*******”
相同的结果

在空格上拆分行,以便得到
String[]arr={“***”、“*”、“***”}

查找最长的字符串,例如,在本例中,您得到
longest=3

数组的大小是生成的三维网格的宽度,最长的字符串是网格的高度,因此创建网格:
char[][]grid=new char[longest][arr.length];

用空格填充网格

现在迭代
arr
,从底部开始构建网格的每一列

…arr[0]*…arr[1]*…arr[2]*。。
...  ------->  *..  ------->  *..  ------->  *.*
...            *..            **.            ***
打印网格


static void rotate(字符串输入){
String[]words=input.split(“”);
int rows=Arrays.stream(words).mapToInt(String::length).max().orElse(0);
char[][]grid=new char[rows][words.length];
数组.stream(grid).forEach(行->数组.fill(行“”);
for(int i=0;i
测验

旋转(“*****”);
旋转(“****”);
旋转(“敏捷的棕色狐狸跳过懒狗”);
输出

*
* *
***
*
* 
** 
***
kns
连续波pry
eioxmeezg
胡鲁夫豪
Tqbfjotld

“有个问题。”-不,你已经发布了你的任务,但没有说明你遇到了什么问题。乍一看,你的旋转代码看起来不错。但是,当我从没有固定矩阵的星星那里得到输入时,我不知道该怎么办。那么,矩阵肯定会有n*m维,或者至少你应该这样对待它。当旋转时,它会变成m*n矩阵,也就是说,你只需要交换2维的长度。我尝试过这个,但我得到了这个错误“java.lang.NumberFormatException”。这是什么意思?@jjigaebudae因为这个代码没有解析任何数字,我不知道你从哪里得到这个错误。
import java.util.Scanner;

public class Spin {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
         int n = sc.nextInt();
         int[][] A = new int[n][n];
            
         int K = 1;
         for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
               A[i][j] = K++;
            }
         }
               
               
public static int[][] leftRotate(int n, int[][] A) {
            int[][] B = new int[n][n];

            for(int i=0; i<n; i++){
                for(int j=0; j<n; j++){
                    B[i][j] = A[j][n-i-1];
                }
            }

    }

}
}