Tag Archives: Java

Mac OSX 10.6 Perl 正規表現が動かない バックスラッシュの書き方

MacでPerlを使っていて非常に疑問だったのが何故か正規表現が正しく動作しない問題だったのですがWindowsと違ってMacでは¥マークが実はバックスラッシュと扱いが同じではなく¥を記述しても正常に動作しません。

バックスラッシュを実際に記述したい場合は下記のような入力を行う必要があります。
optionキー(alt) +

まだ試していませんがCやJavaなどの他の言語にも影響があるかもしれません。

Mac OS X 10.6 Snow Leopard Javac 文字化け 解決方法

JavaをMacで使う為に中古のMacBookを買ったが、いざJavacを使ってみたところ激しく文字化けしたので文字化けを直す方法をメモしておく。

ユーザディレクトリ直下.bash_profileに# vim .bash_profile 等で上記の内容を書き込むことで文字化けを解消することが出来る。

alias javac=”javac -J-Dfile.encoding=UTF8″

超簡易版 フィボナッチ数列 JAVA言語

バカの一つ覚えとしてこの際、Javaでも同じ事が出来るかを試してみた。入力を受け付ける時にint型を直接指定出来ないようなのでString型で指定しその後、型の変換を行う。IOエラーについての記述やパッケージのインポート等あるが対してC言語との変化は無く同じ動作を行える。

// パッケージをまとめてロード
import java.io.*;
public class fibonacci {
   public static void main(String args[]) {
       int x=0,y=1,z=0,i,input;
       // 入力データ読み込み用オブジェクトの作成
       BufferedReader myReader = new BufferedReader(new InputStreamReader(System.in),1);
       try{
       System.out.println ("値を入力してください:");
       String myString = myReader.readLine();
       input = Integer.parseInt(myString);
       for(i = input;i > 0;i--){
           z = x + y;  /*今の値を出す*/
           y = x;      /*前の値を代入→次のループで2回前の値になる*/
           x = z;      /*今の値を代入→次のループで1回前の値になる*/
       }
       System.out.println (input + "の値は" + z + "です。");  /*最後の値を表示*/
       // エラー処理ブロック
       }catch (IOException e) {}
   }
}

Javaで四則演算をする

Javaを使って四則演算をしてみたいと思う。 Math.javaというファイルを作成し下記のソースコードを書いき保存する。

# javac Math.java
# javac Math

実行すると次のように表示されると思う。

——文字として出力—–
5 + 5
5 – 5
5 * 5
5 / 5
——数式として演算—–
10
0
25
1

ここで気づくのだがPerlやCやPHPとは異なりprintf(“%d”,数式)というような整形型の記述ではないこと。何が言いたいかというとJavaには標準でprintfのような機能が備わっていないようである。仮に、 System.out.println(“%d”,5 + 5)とし実行してみると激しくエラーが表示される。

参考:Javaでの文字列整形 (J2SE 1.4系)

public class Math {
    public static void main(String args[]) {
    System.out.println("n------文字として出力-----n");
    System.out.println("5 + 5");
    System.out.println("5 - 5");
    System.out.println("5 * 5");
    System.out.println("5 / 5");
    System.out.println("n------数式として演算-----n");
    System.out.println(5 + 5);
    System.out.println(5 - 5);
    System.out.println(5 * 5);
    System.out.println(5 / 5);
    }
}