如何在main函数中打印来自另一个函数的变量? import java.util.Scanner; 公共类解决方案{ 静态布尔isAnagram(字符串a、字符串b){ char aa[]=a.toLowerCase().toCharArray(); char bb[]=b.toLowerCase().toCharArray(); 如果(a.长度()!=b.长度()){ 返回false; }否则{ java.util.Arrays.sort(aa); java.util.Arrays.sort(bb); 返回java.util.array.equals(aa,bb); } } 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); 字符串a=scan.next(); 字符串b=scan.next(); scan.close(); 布尔ret=isAnagram(a,b); 系统输出打印LN(aa); System.out.println((ret)?“字谜”:“非字谜”); } }

如何在main函数中打印来自另一个函数的变量? import java.util.Scanner; 公共类解决方案{ 静态布尔isAnagram(字符串a、字符串b){ char aa[]=a.toLowerCase().toCharArray(); char bb[]=b.toLowerCase().toCharArray(); 如果(a.长度()!=b.长度()){ 返回false; }否则{ java.util.Arrays.sort(aa); java.util.Arrays.sort(bb); 返回java.util.array.equals(aa,bb); } } 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); 字符串a=scan.next(); 字符串b=scan.next(); scan.close(); 布尔ret=isAnagram(a,b); 系统输出打印LN(aa); System.out.println((ret)?“字谜”:“非字谜”); } },java,Java,请帮助我如何将isAnagram函数中的变量打印到main()。我尝试了System.out.println(aa)但出现错误: Solution.java:35: error: cannot find symbol System.out.println(aa); ^ symbol: variable aa location: class Solution 1 error 由于变量的作用域,无法从main()中的

请帮助我如何将isAnagram函数中的变量打印到main()。我尝试了
System.out.println(aa)但出现错误:

Solution.java:35: error: cannot find symbol
        System.out.println(aa);
                           ^
  symbol:   variable aa
  location: class Solution
1 error

由于变量的作用域,无法从main()中的isAnagram函数访问变量。若要在控制台中打印它们,请在isAnagram方法本身内部编写print语句

static boolean isAnagram(String a, String b) {
    char aa[] = a.toLowerCase().toCharArray();
    char bb[] = b.toLowerCase().toCharArray();

    System.out.println(Arrays.toString(aa));
    System.out.println(Arrays.toString(bb));

    if(a.length() != b.length()) {
        return false;
    }else{
        java.util.Arrays.sort(aa);
        java.util.Arrays.sort(bb);
        return java.util.Arrays.equals(aa,bb);
        
    }
}


如果需要在那里打印字谜,可以在
main
方法中准备字符数组
aa

静态布尔isAnagram(char[]aa,char[]bb){
如果(aa.长度!=bb.长度){
返回false;
}
java.util.Arrays.sort(aa);//`aa`将在isAnagram之外排序
java.util.Arrays.sort(bb);//因此'bb'
返回java.util.array.equals(aa,bb);
}
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
字符串a=scan.next();
字符串b=scan.next();
char[]aa=a.toLowerCase().toCharArray();
char[]bb=b.toLowerCase().toCharArray();
布尔ret=isAnagram(aa,bb);
System.out.println(新字符串(aa));
System.out.println((ret)?“字谜”:“非字谜”);
}

您可以将字符数组(“aa”)定义为静态实例变量,并且可以通过任何方法访问“aa”

试着这样做

import java.util.Scanner;
public class Solution{

  static char aa[];

  static boolean isAnagram(String a, String b) {
    aa = a.toLowerCase().toCharArray();
    char bb[] = b.toLowerCase().toCharArray();

    if(a.length() != b.length()) {
        return false;
    }else{
        java.util.Arrays.sort(aa);
        java.util.Arrays.sort(bb);
        return java.util.Arrays.equals(aa,bb);
        
    }
  }

  public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);
    String a = scan.next();
    String b = scan.next();
    scan.close();
    boolean ret = isAnagram(a, b);
    System.out.println(aa);
    System.out.println( (ret) ? "Anagrams" : "Not Anagrams");
  }
}

您用于代码的软件是否警告您main中没有定义变量“aa”?无论如何,一种快速的方法是,您可以在定义它的方法“isAnagram”中打印它。