• ベストアンサー

Javaで改行などが出来ないのです。

 Java の事で質問です。     System.out.println("このようにしても\n");  改行できません。    このようにしても\n     と表示されてしまいます。どうしてでしょう。ちなみにOSはMacOS9.1です。なにか関係があるのでしょうか?

  • Java
  • 回答数6
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • Harry_
  • ベストアンサー率55% (36/65)
回答No.5

> class amigo{ > public static void main(String args[]) { > System.out.print("aaaaaaaa"); > System.getProperty("line.separator"); > System.out.print("bbbbbbbb"); > } > } > のような使い方でしょうか? String line_sep = System.getProperty("line.separator"); System.out.println("あいうえお" + line_sep + "かきくけこ"); こうです。

esnobismo
質問者

お礼

 こちらはうまくいきました。改行に関しては問題解決です。ありがとうございます。

その他の回答 (5)

  • netaro
  • ベストアンサー率41% (46/110)
回答No.6

あの、違ったらごめんなさい。 Javaって System.out.println("これだけで"); これだけで改行されると思うんですけど。 改行しないのが System.out.print(); 改行するのが System.out.println(); ちなみに、他のバックスラッシュコードは受け付けるのですか?(\bとか\rとか)

esnobismo
質問者

お礼

 御指摘の通りです。ただ、バックスラッシュコード全般を受け付けないので、代表として改行を例にとって質問させていただきました。  Macでの\の入力の方で探ってみる事にします。新しい質問を投稿しますので、よろしかったらおつきあい下さい。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.4

>System.out.println("このようにしても\n"); 改行できません。 Macの改行文字は\rです。 \nはunix系で使われます。 ちなみに、Windowsは\r\nです。

esnobismo
質問者

補足

 細かい所に、割と重大な違いがあるのですね。参考になります。

  • misoka
  • ベストアンサー率35% (56/160)
回答No.3

いちおう確認ですが、\nが全角だなんてことはないですか?

esnobismo
質問者

お礼

全角が¥ 半角が\ 後の方を使っているのですが、うまくいきません。

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.2

あと、大きなお世話かもしれませんが、 プラットフォームに依存しないよう、 System.getProperty("line.separator") を常に改行文字として使用すべきです。

esnobismo
質問者

お礼

class amigo{ public static void main(String args[]) { System.out.print("aaaaaaaa"); System.getProperty("line.separator"); System.out.print("bbbbbbbb"); } }  のような使い方でしょうか?これもうまくいきません。なんだか、僕が勉強しているのが本当にJavaなのかどうかすら確信が持てなくなって来ました。間違いがあれば指摘していただけると幸いです。

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.1

Mac だと改行は \r ではないですか。 でも、どっちにしても、 \n がエスケープされないのは変ですね。

esnobismo
質問者

お礼

そうなんですか。プラットフォームに依存しない、と聞いたので、皆同じだと思ってました。ありがとうございます。

関連するQ&A

  • JAVAのfor文で困っています。

    JAVAの勉強をしていますが、本の練習問題でわからなくて困っています。for文で以下の処理を行いたいです(do,whileはなしです)が、 *を5個ごとに改行したいのですが、改行してくれません。 問題の部分↓ if (n % 5 == 0) System.out.println(); 何か良い方法はありませんか?お願いします。 ------------------------------------------------- //(数を読み込んで)だ個数だけ * を5個ごと改行しながら表示 int n = 0; for (int i = n; n <= 0;){ System.out.print("何個*を表示しますか : "); n = stdIn.nextInt(); } for (int i = 1; i <= n; i++){ System.out.print("*"); if (n % 5 == 0) System.out.println(); } ------------------------------------------------

    • ベストアンサー
    • Java
  • Javaの参考書に掲載されている問題について質問

    以下が、その問題文と解答となるソースコードです。 疑問点があるので質問します。 キーボードをタイプして変数nに整数を入力し次のように処理するプログラムを作成しなさい 5で割った余りが0ならば "5n"と表示する 5で割った余りが1ならば "5n+1"と表示する 5で割った余りが2ならば "5n+2"と表示する 5で割った余りが3ならば "5n+3"と表示する 5で割った余りが4ならば "5n+4"と表示する 以下がその答えのソースコードです。 package 第10章; import lib.Input; public class 練習10の1の2 { public static void main(String[]arg){ int n=Input.getInt(); switch(n%5){ case 0: System.out.println("5n"); break; case 1: System.out.println("5n+1"); break; case 2: System.out.println("5n+2"); break; case 3: System.out.println("5n+3"); break; case 4: System.out.println("5n+4"); } } } 質問:"5n+1"とか"5n+2"とかを表示させる意図はなんですか? 全然わからないです、、 もしかして、例えば、余りが1の場合、5*nの答えは、5*n+1だから、5n+1を表示させるということでしょうか?

    • ベストアンサー
    • Java
  • JAVAで素数判定

    JAVAの勉強をしてます 練習問題で、素数判定のプログラムをしているのですが。 1~14までの判定はうまくいきますが、15の判定の時に素数であると表示されて困ってます。どなたかわかりませんか? //読み込んだ数字 n が 15 の場合 if(n == 1) System.out.println("素数ではありません。"); if(n == 2) System.out.println("素数です。"); for (int i = 2; i < n; i++) { if (n % i == 0) { System.out.println("素数ではありません。"); break; } else { System.out.println("素数です。"); break; } } --結果---------------------------------------------- 素数です

    • ベストアンサー
    • Java
  • JAVAでコンパイルができないんです・・・

    参考書と同様に四苦八苦してやっていたのですが、 MS-DOSプロンプトにてエラーが出てしまいます。 その内容とは C:¥java>javac hellow.java hellow.java:3: シンボルを解決できません。 シンボル: クラス string 場所  : hellow の クラス public static void main(string args[]) helow.java:5: パッケージ systemは存在しません system.out.println("hellow world!\n"); エラー2個 C:\java> となっています 参考書に載っていたプログラムが これです public class hellow { public static void main(string args[]) { system.out.println("hellow world!\n"); } } 色々と試してみましたがうまくいかず最後の頼みで ここで質問させて頂きました。 因みにwindows98でj2sdk1.4.1_01を使用しています。 長々となってしまいましたがよろしくお願いいたします。

  • javaプログラミングについて!

    ただいまjavaプログラミングの勉強をしております。 そこで数字を複数回入力させ、-1を入力すると終了し、その数字の最大、最小、平均を出力するプログラムを作っているのですが、 public static void main(String[] args) { int max = 0; int min = 100; int sum = 0; int count = 0; Scanner sc = new Scanner(System.in); System.out.println("正の整数を入力してください"); int n = sc.nextInt(); while (num01 != -1){ System.out.println("正の整数を入力してください"); sum += n; n = sc.nextInt(); count++; if(max < n) max = n; if(min > n) min = n; } System.out.println("入力された整数の最大は" + max); System.out.println("入力された整数の最小は" + min); System.out.println("入力された整数の平均は" + sum/count); } } このようなプログラミングが作れたのですが、たとえば30と10を入力したときに 最大10 最小-1 平均20 と表示されてしまいます。色々試行錯誤してみたのですが、改善されなかったため質問させて頂きました。原因と解決方法を教えて頂きたいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのプログラムについて

    java始めたばかりの者です。 class sample1 { public static void main(String[] args) { for(int i=1; i<=5; i++){ for(int j=0; j<i; j++){ System.out.println("*"); } System.out.println("\n"); } } } これを実行すると * * * * * * * * * * * * * * * こうなってしまい * ** *** **** ***** このようにするにはどうしたらいいのでしょうか??

    • ベストアンサー
    • Java
  • javaについて

    以下のようにキーボードから入力していくプログラムを試行しているのですが、エラーが出てくるので行き詰まっています。 理想的にはキーボードに”あいう”エンター”えおか”エンターと打ち込んだら str[0]=あいう str[1]=えおか と表示させていきたいのですが、よろしくお願いします。 import java.io.*; import java.lang.*; import java.net.*; import java.awt.*; class gugu2 { public static void main(String[] args) throws IOException { int i=0; while(i<2){ System.out.println("キーワード入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); char str[] = input.toCharArray(); System.out.println("キーワードは" + str[]); i=i+1; } for(i=0;i<2;i++){ System.out.println(str[]); } } } これがエラー表示です。 gugu2.java:17: '.class' がありません。 System.out.println("キーワードは" + str[]); ^ gugu2.java:21: '.class' がありません。 System.out.println(str[]); ^ エラー 2 個

    • ベストアンサー
    • Java
  • 出力での改行をPHP_EOL以外で。

    Macを使っています。 PHPを勉強しているのですが、 echo ""; print(""); などで出力する際、改行をいれたい時は""の後にPHP_EOLを入れています。他に簡単な方法はないでしょうか?(Javaだったら、System.out.printlnみたいに)

    • ベストアンサー
    • PHP
  • java

    コンパイルできても、実行ができません。 次のようなエラーがでます。 このエラーはどのようなエラーなのでしょうか? Exception in thread "main" java.lang.NoClassDefFoundError: test コードはただたんにHello JAVA と表示させるだけです。 class Test{ public static void main(String args[]){ System.out.println("Hello Java\n"); } }

    • ベストアンサー
    • Java
  • Javaの戻り値のコード

    Java初心者です。returnの例文で分からない所があります。 (1)考え方として car1.setNumGas(1234, 20.5); の時点で void setNumGas(int n, double g) はvoid setNumGas(1234, 20.5)になり 次にgetNum( ) そのものを引っ張ってきているので、 ナンバーを調べました という文字まで一緒に引っ張らないのでしょうか? なぜ 次の行のretun文だけを拾うのですか? (2)returnのイメージがまだ出来ていません。 int number = car1.getNum(); とした時点で int getNum()  にジャンプし、 その中の returnを見つけ、 そしてreturnが numを使っている所をコードを下に降りて順に探しに行く というイメージで合ってますか? -------------------------------------------------------------------- return num; →よーし探しに行こう! まずdouble getGas()の中 → うーんない 次にvoid setNumGas(int n, double g) の中 { num = n;    →   お、あった! nは今1234だな、だから表示結果は1234 --------------------------------------------------------------------------- こんな認識で合ってますでしょうか? class Car { int num; double gas; int getNum() { System.out.println("ナンバーを調べました。"); return num; } double getGas() { System.out.println("ガソリン量を調べました。"); return gas; } void setNumGas(int n, double g) { num = n; gas = g; System.out.println("車のナンバーを" + num + "にガソリン量を" + gas + "にしました。"); } void show() { System.out.println("車のナンバーは" + num + "です。"); System.out.println("ガソリン量は" + gas + "です。"); } } class Sample6 { public static void main(String[] args) { Car car1 = new Car(); car1.setNumGas(1234, 20.5); int number = car1.getNum(); double gasoline = car1.getGas(); System.out.println("サンプルから車を調べたところ"); System.out.println("ナンバーは"+ number + "ガソリン量は" + gasoline + "でした。"); } }

    • ベストアンサー
    • Java