Route×√×rooT

コスプレ日記

写真置場

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

自分用メモ

ずっとプログラミングのレポートしてた~!つかれた~!アーッ/(^o^)\
色々教えてくれた某友人ありがとう貴方は神です<●><●>

誰得なのか全く持ってわからないけど出来上がったソースファイル貼り付け!
来年理系2年の人とかこんな感じの課題出されたら以下の文章コピペすればいいんじゃないのwwww
ぶっちゃけこうやってブログにソースファイル載せてくれてるのって急いでる時とかくそありがたいよねwwwww

ちなみにコンソールのほうは教科書に載ってたソースをほぼ打ちなおしたのみでござる(^q^)
任意の数の素数を求めて表示してくれるプログラムだお(^q^)

よし寝よう。
そんでもって明日早起きして走りにいこーと!
今の外の気温ってすごく走りやすいよね~!


PrimeNumber.java

**************************


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;


public class PrimeNumber {

public static void main(String[] args) {
System.out.println("1からnの間の素数を表示するプログラムです");
System.out.println("nにあたる数字を入力してください");

int n = getMax();
if (n < 0) {
System.out.println("異常終了します。");
System.exit(-1);
} else {
int[] prims = getPrimes(n);
printoutPrims(prims);
}
}



public static int[] getPrimes(int max) {
int[] data = createOriginalData(max);
for(int i=0; i < data.length; i++) {
if (data[i] == -1) continue;
int survivalMax = data[i];
for(int j=i+1; j < data.length; j++) {
if ( data[j] != -1) {
if ( (data[j] % data[i]) == 0 ) {
data[j] = -1;
} else {
survivalMax = data[j];
}
}
}
if ( survivalMax < data[i] * data[i] ) break;
}
return data;
}



private static void printoutPrims(int[] data) {
int count = 0;
for(int i =0; i < data.length; i++) {
if (data[i] != -1) {
count++;
if (count == 10) {
System.out.println(data[i]);
count = 0;
} else {
System.out.print(data[i] + " ");
}
}
}
}


private static int[] createOriginalData(int max) {
int[] data = new int[max - 1];
for(int i =2; i <= max; i++) {
data[i-2] = i;
}
return data;
}



private static int getMax() {
int result = -1;
BufferedReader bReader = null;
try {
bReader =
new BufferedReader(new InputStreamReader(System.in));
while( result == -1 ) {
System.out.print("nを入力してEnterキーを押してください。\n>");
String line = bReader.readLine();
result = string2int(line, 1);
}
} catch(IOException e) {
System.err.println(e.getMessage());
System.out.println("キーボード入力を受けられませんでした。");
result = -1;
} finally {
closeReader(bReader);
}
return result;
}


private static int string2int(String line, int low) {
int result;
try {
result = Integer.parseInt(line);
if (result <= low) {
result = -1;
System.out.println("nは、" + (low + 1)
+ "以上に設定してください。");
}
} catch (NumberFormatException e) {
result = -1;
System.out.println(line + "は、数値として処理できません。");
}
return result;
}


private static void closeReader(Reader bReader) {
if (bReader != null) {
try {
bReader.close();
} catch (IOException e) {
System.err.println(e.getMessage());
}
}
}
}
*********************


ParamApplet.java

**********************
//<●pplet code="ParamApplet.class" width="500" height="500">   (←●をaに)

import java.applet.Applet;
import java.awt.*;


import java.awt.event.*;
//setButtonのアクション登録//
class SetListener implements ActionListener {
ParamApplet view;
SetListener(ParamApplet pa) {
view = pa;
}
public void actionPerformed(ActionEvent e){
String str = view.tf.getText();
int num = Integer.parseInt(str);
view.prime=view.model.getPrimes(num);
view.drawResult("1~" + str + "までの素数を表示します");
view.repaint();

}
}

//GUIの処理等//
public class ParamApplet extends Applet {
PrimeNumber model = new PrimeNumber();
Panel pnl;
TextField tf;
Button set;
int[] prime;
String result = "";
public void init(){
setBackground(Color.white);
pnl = new Panel();
pnl.add(tf = new TextField("",4));
pnl.add(set = new Button("SET"));
add("North",pnl);
set.addActionListener(new SetListener(this));
}

public void paint(Graphics g) {
g.drawString(result,50,60);
g.setFont(new Font("",Font.PLAIN,10));
int j = 0;
if(prime!=null) {
for(int i=0; i int width=getWidth()-50; int dx = width/20;

if(prime[i] != -1){

g.drawString(String.valueOf(prime[i]),50+(j%20)*dx,100+25*(j/20));
j++;
}
}
}
}
void drawResult(String s){
result = s;
}

}
スポンサーサイト

Comments


« »

08 2017
SUN MON TUE WED THU FRI SAT
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

√

Author:√
タダの腐ったコスプレイヤーです\(^o^)/スザルル大好き結婚しろよ
ついでに言うとスザクくんにのみドリーマー的妄想もしていますスミマセン/(^o^)\
気軽に声を掛けて頂けると泣いて喜びます^^^^
コードギアスをかたろうぜ!

count
検索フォーム
ブロとも申請フォーム
QRコード
QR

Archive RSS Login
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。