#5005: java 的問題


s123456 (選我選我)

學校 : 不指定學校
編號 : 18261
來源 : [118.170.1.63]
最後登入時間 :
2011-03-26 19:42:15
a009. 解碼器 -- ACM 458 | From: [118.170.1.63] | 發表日期 : 2011-03-26 19:46

第一個程式碼

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)

學校 : 徐匯中學
編號 : 33395
來源 : [120.237.72.74]
最後登入時間 :
2017-06-14 10:06:34
a009. 解碼器 -- ACM 458 | From: [130.95.254.118] | 發表日期 : 2014-11-16 15:26

第一個程式碼

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);
       
        }

 
ZeroJudge Forum