如何在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)?“字谜”:“非字谜”); } }
请帮助我如何将isAnagram函数中的变量打印到main()。我尝试了如何在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()中的
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”中打印它。