如何在main函数中打印来自另一个函数的变量?

zqdjd7g9  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(601)

这个问题在这里已经有答案了

java中的“范围”是什么(2个答案)
28天前关门了。

  1. import java.util.Scanner;
  2. public class Solution {
  3. static boolean isAnagram(String a, String b) {
  4. char aa[] = a.toLowerCase().toCharArray();
  5. char bb[] = b.toLowerCase().toCharArray();
  6. if(a.length() != b.length()) {
  7. return false;
  8. }else{
  9. java.util.Arrays.sort(aa);
  10. java.util.Arrays.sort(bb);
  11. return java.util.Arrays.equals(aa,bb);
  12. }
  13. }
  14. public static void main(String[] args) {
  15. Scanner scan = new Scanner(System.in);
  16. String a = scan.next();
  17. String b = scan.next();
  18. scan.close();
  19. boolean ret = isAnagram(a, b);
  20. System.out.println(aa);
  21. System.out.println( (ret) ? "Anagrams" : "Not Anagrams");
  22. }
  23. }

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

  1. Solution.java:35: error: cannot find symbol
  2. System.out.println(aa);
  3. ^
  4. symbol: variable aa
  5. location: class Solution
  6. 1 error
svdrlsy4

svdrlsy41#

你可以准备char数组 aamain 方法如果您需要在此处打印anagram:

  1. static boolean isAnagram(char[] aa, char[] bb) {
  2. if(aa.length != bb.length) {
  3. return false;
  4. }
  5. java.util.Arrays.sort(aa); // `aa` will be sorted outside isAnagram
  6. java.util.Arrays.sort(bb); // so will 'bb'
  7. return java.util.Arrays.equals(aa, bb);
  8. }
  9. public static void main(String[] args) {
  10. Scanner scan = new Scanner(System.in);
  11. String a = scan.next();
  12. String b = scan.next();
  13. char[] aa = a.toLowerCase().toCharArray();
  14. char[] bb = b.toLowerCase().toCharArray();
  15. boolean ret = isAnagram(aa, bb);
  16. System.out.println(new String(aa));
  17. System.out.println( (ret) ? "Anagrams" : "Not Anagrams");
  18. }
展开查看全部
xzlaal3s

xzlaal3s2#

可以将字符数组('aa')定义为静态示例变量,并且可以在任何方法中访问'aa'。
试着这样做;

  1. import java.util.Scanner;
  2. public class Solution{
  3. static char aa[];
  4. static boolean isAnagram(String a, String b) {
  5. aa = a.toLowerCase().toCharArray();
  6. char bb[] = b.toLowerCase().toCharArray();
  7. if(a.length() != b.length()) {
  8. return false;
  9. }else{
  10. java.util.Arrays.sort(aa);
  11. java.util.Arrays.sort(bb);
  12. return java.util.Arrays.equals(aa,bb);
  13. }
  14. }
  15. public static void main(String[] args) {
  16. Scanner scan = new Scanner(System.in);
  17. String a = scan.next();
  18. String b = scan.next();
  19. scan.close();
  20. boolean ret = isAnagram(a, b);
  21. System.out.println(aa);
  22. System.out.println( (ret) ? "Anagrams" : "Not Anagrams");
  23. }
  24. }
展开查看全部
ix0qys7i

ix0qys7i3#

由于变量的作用域,无法从main()中的isanagram函数访问变量。如果您想在控制台中打印它们,请在isanagram方法内部编写print语句

  1. static boolean isAnagram(String a, String b) {
  2. char aa[] = a.toLowerCase().toCharArray();
  3. char bb[] = b.toLowerCase().toCharArray();
  4. System.out.println(Arrays.toString(aa));
  5. System.out.println(Arrays.toString(bb));
  6. if(a.length() != b.length()) {
  7. return false;
  8. }else{
  9. java.util.Arrays.sort(aa);
  10. java.util.Arrays.sort(bb);
  11. return java.util.Arrays.equals(aa,bb);
  12. }
  13. }
展开查看全部

相关问题