for循环双变量问题求解

代码如下


public static void main(String[] args){

char[] a = new char[26];

for(int i = 0,char p = 'A'; i<26;i++,p++){
    a[i] = p;
}
for(int i  = 0; i<26;i++){
    System.out.print(a[i] + "  ");
}
}
}

img


这是为啥,求解ing

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在 Java 中,一个 for 循环中只能定义一个循环变量。因此,代码中的 for 循环语句 for(int i = 0,char p = 'A'; i<26;i++,p++) 是无法编译通过的,因为它定义了两个循环变量 i 和 p。

如果你想在循环中同时使用两个变量,可以将其中一个变量定义在循环外部,例如:

public static void main(String[] args) {
    char[] a = new char[26];
    char p = 'A';
    for (int i = 0; i < 26; i++, p++) {
        a[i] = p;
    }
    for (int i = 0; i < 26; i++) {
        System.out.print(a[i] + "  ");
    }
}

这样就能够成功编译并输出字母表了。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7623834
  • 你也可以参考下这篇文章:最优化算法简单对比 梯度下降 牛顿迭代 坐标下降
  • 除此之外, 这篇博客: 设计一个简单的计算机,可以计算两个数的加减乘除中的 代码如下 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • package com.kong.practice;
    
    import java.util.Scanner;
    
    public class SimpleCalculator {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            double result=0;
            int x = 0;
            while(x!=1) {
                System.out.println("请输入第1个操作数");
                double a = scanner.nextDouble();
                System.out.println("请输入运算符");
                String c = scanner.next();
                System.out.println("请输入第2个操作数");
                double b = scanner.nextDouble();
                switch (c) {
                    case "+":
                        result = add(a, b);
                        break;
                    case "-":
                        result = sub(a, b);
                        break;
                    case "*":
                        result = mul(a, b);
                        break;
                    case "/":
                        result = div(a, b);
                        break;
                    default:
                        System.out.println("输入格式错误");
                        break;
                }
                System.out.println(a + c + b + "=" + result);
                System.out.println("若结束程序请输入1,否则输入任意数字开始下一轮计算");
                x = scanner.nextInt();
            }
    
    
            scanner.close();
        }
    
        //加法
        public static double add(double a, double b) {
            return a+b;
        }
    
        //减法
        public static double sub(double a, double b){
            return a-b;
        }
    
        //乘法
        public static double mul(double a, double b){
            return a*b;
        }
    
        //除法
        public static double div(double a, double b){
            return a/b;
        }
    
    }
    
  • 您还可以看一下 孙玖祥老师的图解数据结构与算法课程中的 汉诺塔问题代码实现小节, 巩固相关知识点