アプリ版:「スタンプのみでお礼する」機能のリリースについて

このプログラムは英大文字をランダムに表示するプログラムなのですが、これを小文字と記号も合わさった形で出力されるように改造するにはどうしたらいいでしょうか。コードを添えて下さると助かります。

import java.util.Random;

public class Aruf{
public static void main(String[] args) {

//Randomクラスのインスタンス化
Random rnd = new Random();

//変数の宣言
int ran;
int a;
char c;

//10回繰り返す
for(int b=0;b<10;b++){
//0~25の乱数を作成
ran = rnd.nextInt(26);

//65を足して65~90にする
a = 65 + ran;

//charに型変換
c = (char)a;
//表示
System.out.print(c);
}
}
}

A 回答 (7件)

//0~51の乱数を作成


ran = rnd.nextInt(52);

if(ran <= 25){
 //65を足して65~90にする 大文字
 a = 65 + ran;
}
else{
 //71を足して97~122にする 小文字
 a = 97 - 26 + ran;
}
    • good
    • 1

>#4,6


ソースコードから推測して
学校などでプログラミングの初歩の初歩を学習してる最中の人だと思うよ
まだユーザ関数の作り方までは習ってないような気がする
    • good
    • 0

むしろ「文字列を与えてその中からランダムに選ぶ」とか「文字の配列を与えてその中から (以下略)」の方がよろしいのではないかと>#5.



あと, 「やってみたのですが、うまくいきませんでした」なんていう報告は情報量 0 なので, はっきり言って無駄. 「どうやって (どのようなプログラムを書いて) どううまくいかなかったのか」を書いてください.
    • good
    • 0

=_=) 共通化とかできないこなのかな。



こんな感じ
http://ideone.com/xx0b3
    • good
    • 0

>#2,3



拡張性もとめて
http://ideone.com/W1vG1

みたいなほうがよくないか?

char s;
char e;

は引数化してください。

この回答への補足

やってみたのですが、うまくいきませんでした
どのように書き換えたら良いですかね...

補足日時:2011/12/26 20:43
    • good
    • 0

No.2は早とちり。

質問内容をよく読んでなかったです^^;

//33~126の乱数を作成
a = 33 + rnd.nextInt(126 - 33 + 1);
    • good
    • 0

こんにちは。



何の記号を含めたいのかわかりませんがASCIIコードの範囲であれば
http://e-words.jp/p/r-ascii.html
ここに文字コードがあります。

65+(0~25)を足したものが出力されていますので
これを
33+(0~93)を足してあげれば
表にある32~126の文字が出力されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!