#5005: java 的問題


s123456 (選我選我)


第一個程式碼

import java.util.Scanner;
public class a009 {
    public static void main(String[] argv){
     Scanner cin=new Scanner(System.in);
     
     while(cin.hasNext()){
      
        String b=cin.nextLine();
        int line = b.length();
        char [] a= b.toCharArray();
       
        for (int i=0; i < line ;i++){
             a[i]-=7;
          System.out.print(a[i]);
        }
        System.out.println();
     }
    }
}

第二個

import java.util.Scanner;
public class a009 {
    public static void main(String[] argv){
     Scanner cin=new Scanner(System.in);
     
     while(cin.hasNext()){
      
        String b=cin.nextLine();
        int line = b.length();
        char [] a= b.toCharArray();
       
        for (int i=0; i < line ;i++){
             a[i]=a[i]-7;
          System.out.print(a[i]);
        }
        System.out.println();
     }
    }
}

為什麼第一個可以成功,第二個就不能成功?

#9455: Re:java 的問題


kenny191971 (kenny)


第一個程式碼

import java.util.Scanner;
public class a009 {
    public static void main(String[] argv){
     Scanner cin=new Scanner(System.in);
     
     while(cin.hasNext()){
      
        String b=cin.nextLine();
        int line = b.length();
        char [] a= b.toCharArray();
       
        for (int i=0; i < line ;i++){
             a[i]-=7;
          System.out.print(a[i]);
        }
        System.out.println();
     }
    }
}

第二個

import java.util.Scanner;
public class a009 {
    public static void main(String[] argv){
     Scanner cin=new Scanner(System.in);
     
     while(cin.hasNext()){
      
        String b=cin.nextLine();
        int line = b.length();
        char [] a= b.toCharArray();
       
        for (int i=0; i < line ;i++){
             a[i]=a[i]-7;
          System.out.print(a[i]);
        }
        System.out.println();
     }
    }
}

為什麼第一個可以成功,第二個就不能成功?

 

 應該是要  a[i]=(char) a[i]-7;

我的有成功喔

  Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            String code = scanner.nextLine();
            char [] c = code.toCharArray();
            for(int a=0;a<code.length();a++)
            {
                c[a] = (char) (c[a] - 7);
            }
            System.out.println(c);
       
        }