質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

1500閲覧

リテラルの表示と改行について

sobue

総合スコア329

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/03/05 10:07

編集2016/04/05 05:28

java

1public class Chapter1literal { 2 3 public static void main(String[] args) { 4 // TODO 自動生成されたメソッド・スタブ 5 6 int v = 17; 7 v = 0b10001; 8 v = 021; 9 v = 0x11; 10 System.out.printf( "v(10進数) = %d¥n", v); 11 System.out.printf( "v(8進数) = %o¥n",v); 12 System.out.printf( "v(16進数) = %x¥n", v); 13 14 String s = "Hello java"; 15 System.out.printf( "s = %s¥n", s); 16 17 char c = 'Z'; 18 System.out.printf("c(3)=%c%c%c¥n", c, c, c); 19 } 20 21}

上記のコードを実行すると

v(10進数) = 17¥nv(8進数) = 21¥nv(16進数) = 11s = Hello java¥nc(3)=ZZZ¥n

と出るのですが、表示としては

v(10進数) =17 v(8進数) =21 v(16進数) =11 s = Hello Java c(3) ZZZ

と必要のない表示を消して、かつ改行した状態で表示させたいのですが、方法はありますか?
¥nをコードから消すのは試しました。それはできたのですが参考書に乗っているコードこのように書いてあるのでなぜ必要か、いまいちわかりません。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

\nを%nに変えてみてください。

因みに\nは改行コードと呼ばれるものです。
OSにより改行コードが異なりますので、調べてみてください。

投稿2016/03/05 10:25

lilithchan

総合スコア249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sobue

2016/03/05 10:40

\ではないですが・・・%nに変えたところ直りました。 os依存のコードが存在するのですね・・・。 もし、両方使用するところに納品があったら両方のパッケージが必要になるわけですね・・・ javaのいいところってos依存しないはずなのに・・・
guest

0

もしかしてMacをお使いでしょうか?
Windowsでは、半角円マークと半角バックスラッシュは同じもののように扱われますが、
Macの場合、半角円マークと半角バックスラッシュは区別されていますので、そのせいなのかと思いました。

それと、lilithchanさんの回答のコメント欄に書かれている

もし、両方使用するところに納品があったら両方のパッケージが必要になるわけですね・・

については、ケースバイケースですが、
常に複数のOS向けの両方のパッケージが必要になるということではありません。
Javaで対応可能な範囲であれば、複数のOS向けに同じバイナリー(JARファイルなど)で提供することができます。

逆の例では、例えばMacで.appファイルのアプリのように動かすには少し専用のコードを必要とします。
そういうOSの違いに気を付けていれば、両方のパッケージを用意しなくても済みます。

JavaはOSに依存しないというわけではないです。
ある程度はJVMが差異を吸収してくれますが、
基本的には同じJARファイル(またはClassファイル)を複数のOSで実行できる(WORA: Write Once Run Anywhere)というだけです。

投稿2016/03/09 05:40

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問