JAVAでチェックデジットをやりたい。
■ このスレッドは過去ログ倉庫に格納されています
0001ななし
NGNG3万件あります。(CSVデータ)
このデータを一括入力し、チェックデジットの算出された値を
12桁の末尾に追加し、そのデータをCSVで出力するという流れです。
どのようなクラスになって、どのような実装になるのでしょうか?
0002デフォルトの名無しさん
NGNG入門書読んで一から勉強しろ。
0003デフォルトの名無しさん
NGNG引き籠もりは黙っていろ。
0004デフォルトの名無しさん
NGNGそうするとレスがつかなくなる罠
まあ、ひとつのクラスにmainメソッドだけで実装ってことで。
0005デフォルトの名無しさん
NGNG課題の丸投げは以下のスレでおねがいします。
学校の宿題は俺にやらせて下さいver.1.1βfor Java
http://pc2.2ch.net/test/read.cgi/tech/1065599192/l50
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG学校の宿題じゃねーよ。
0008デフォルトの名無しさん
NGNGとりあえず、>>1 は学校の宿題も自力でできない学生と同レベルって事で。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGくだらない質問でもべっちょ偉そうに聞いていいスレ
http://pc2.2ch.net/test/read.cgi/tech/1069530956/
0011デフォルトの名無しさん
NGNGInteger.toString()
java.text.DecimalFormat
Integer.parseInt()
0012デフォルトの名無しさん
NGNGjava.io.StringTokenizer
java.io.FileWriter
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG>>1ってこいつ↑か?
5日も経ってるのに全く進捗がないとはな。
とっとと転職するのをお勧めするよ。
0017デフォルトの名無しさん
NGNGゲラゲラ どんな言語でも「流れ」はほとんど一緒だろ
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGwhile(<IN>){
#何かやる。
}
close(IN);
出来たよ。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGマルチか
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGどっちについての質問なの?
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG後ろから番号を�@〜�Lとする、�@桁目がチェックデジット
偶数番目の全て加算し、3倍する、その下1桁をAとする
チェックデジット(�@)をのぞく奇数番目を全て足しその下1桁をBとする。
C=A+B
�@=10−C
0029デフォルトの名無しさん
NGNG12桁の数字を入力したとして、
public static void main(String args[]){
int[] value = new int[13];
int a=0;
int b=0;
for(int i=0; i<12; i++){
value[i] = args[0].substring(i);
}
value[12] = 0;
for(int j=0; j<12; j++){
if(j%2 == 0){
b += value[j];
}else{
a += value[j];
}
}
a = a * 3;
a = a % 10;
b = b % 10;
value[12] = 10 - a - b;
for(int k=0; k<13; k++){
System.out.print(value[k]);
}
System.out.print("\n");
}
003029
NGNG誤
value[i] = args[0].substring(i);
正
value[i] = parseInt(args[0].substring(i));
003129
NGNGだっけ?
0032デフォルトの名無しさん
NGNGttp://www.n-barcode.com/cd/aboutcd.html
を見ると、ちょっと違うみたい。
a = a * 3;
a = a % 10;
b = b % 10;
value[12] = 10 - a - b;
じゃなくて、
a = a * 3;
value[12] = 10 - ((a + b) % 10);
が正解かな?
0033デフォルトの名無しさん
NGNGi:integer;
JuhNiKeta:string;
M: Array [1..12] of string;
IntM: Array [1..12] of integer;
IntMK:integer;
ChkDgt:string;
begin
for i:=1 to 12 do
begin
M[i]:=Copy(JuhNiKeta,i,1);
end;
for i:=1 to 12 do
begin
IntM[i]:=StrToInt(M[i]);
end;
IntMK:=IntM[1]+3*IntM[2]+IntM[3]+3*IntM[4]+IntM[5]+3*IntM[6]+IntM[7]+3*IntM[8]+IntM[9]+3*IntM[10]+IntM[11]+3*IntM[12];
CHkDgt:=RightStr(FloatToStr(10-(IntMK-Int(IntMK/10)*10)),1);
end;
0034デフォルトの名無しさん
NGNGFor i = 1 To 12
M(i) = Mid(JuhNiKeta, i, 1)
Next i
SujiGouKei = M(1) + 3 * M(2) + M(3) + 3 * M(4) + M(5) + 3 * M(6) + M(7) + 3 * M(8) + M(9) + 3 * M(10) + M(11) + 3 * M(12)
ChkDgt = Right(10 - (SujiGouKei - Int(SujiGouKei / 10) * 10), 1)
0035デフォルトの名無しさん
NGNGCSVになっているってのは、バーコードの元になる
コードとともに商品名とか単価とかが一緒になってるのかな?
Excelで開いてVBAでやるのが一番簡単だし、その後誰でも
使えるようになって便利。次に簡単なのは >18が言うように、
Perlで。サクッとできる。
1桁ずつに分解、対応する数字を足して、決められた数字で割って、
対応するコードに割り当てて、元のコードの最後に追加して終わり。
Javaだとファイル入出力、CSVのカンマの規則、データの持ち方、
ひと桁ずつ分解してとかイメージできるならやってみて。
0036デフォルトの名無しさん
NGNG違う。
(10 - (a + b)%10)%10;
a+b が 10 で割り切れるときはチェックディジットは 0 でなければならない。
その昔親父に頼まれて PC-E550 で作ったよ。
印刷時の白の膨れ具合を先読みして印字位置を調整する奴。
さらに前に FX-780P でも作った憶えがある。
ついこの間は、バーコードを表示する VBAマクロも作ったよ。
使用漁るより手っ取り早く参考にしたソースは誰かの書いた F-BASIC 用。いやはや。
0037デフォルトの名無しさん
NGNGむしろ、こう。
= MOD(10 - MOD(Mid(A1,1,1) + Mid(A1,3,1) + Mid(A1,5,1) + Mid(A1,7,1) + Mid(A1,9,1) + Mid(A1,11,1)
+ 3 * (Mid(A1,2,1) + Mid(A1,4,1) + Mid(A1,6,1) + Mid(A1,8,1) + Mid(A1,10,1) + Mid(A1,12,1)),10), 10)
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGこんなもん自力でできない奴はプログラム書くな。
004033=34
NGNGスマンでした。
Access歴3年、Del歴3ヶ月の藤四郎サンデー野郎だっしゅ。
本職の人に添削でもしてもらえればと思って、練習問題のつもりでやってみますた。
Modってのは、AccessのVBエヂタで入れても補完機能が反応してくれなかったんで、
使えないのかなと思ってすぐに諦めますた。ホントのところはよく分かりませんけど
浪速ともあれ、スレの趣旨はずれすぎにもほどがあるのでSAGE
0041デフォルトの名無しさん
NGNGこんなスレで趣旨はずでもなんもない。
0042デフォルトの名無しさん
NGNG後は自力でやれば?
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG36ですか? 36をどうすればチェックデジットができますか?
0045デフォルトの名無しさん
NGNGコンパイルして実行すれば。
0047デフォルトの名無しさん
NGNGということでチェックデジットの件よろ
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGさんすうからおべんきょうしなおしてください。
0050デフォルトの名無しさん
NGNGもう答えは出ているに等しいんだけどね。
完全な答えを待ちつづけるんじゃなくて、>>29 をコンパイルして動かしてみるとか、
そういうことを通じて答えにたどり着くのが重要なんだけどね。
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG聞いてますよ。
0053デフォルトの名無しさん
NGNG0054ななし
NGNG教えて欲しいんですが・・・。
読み込みと書き出しのテキストは
例えば、
input.txt
output.txt
でいいのか?それ以外の名前が良いのか?等です。
0055デフォルトの名無しさん
NGNG>必要なクラス構成
クラスを設計するまでもない。
>クラスの実装コード
>>29をコンパイル&実行すること。それで何が足りないか考えること。
>読み込みと書き出しのテキストは・・・
んなことは考えなくていい。
0056デフォルトの名無しさん
NGNG何だこいつ
一から十まで人に教えてもらうつもりか?
甘えるなボケが
0057ななし
NGNG0058デフォルトの名無しさん
NGNGだから、>>29だと何度も言っている。
0059デフォルトの名無しさん
NGNGうだうだ言ってないでさっさと>>29をコンパイル&実行しろ。
それができないなら何を言ってもおまえには理解できない。
0060デフォルトの名無しさん
NGNGに、>>29のコードをつぎはぎしたようなコードが出ているけど、
この人物はは>>1と同一人物だろうか?
にしては>>29に全く感謝の念がないな。
やはり他人か?
それにそのコードはおそらく動かした形跡がなさそうだ。
0061デフォルトの名無しさん
NGNG@ITまで手が回らないので。
0062デフォルトの名無しさん
NGNGでは、これ以上フォローをしないほうがいいって結論が出たようだ。
こちらも同様にすべきかな。マルチポストだし。
0063www
NGNGException in thread "main"」
これって、どういう意味?
0064デフォルトの名無しさん
NGNG以下のページを参考に。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/NoClassDefFoundError.html
おそらく main メソッドの引数を間違えているのでは?
0066デフォルトの名無しさん
NGNGおそらくそのコードのエラーがなくなっても、目的は達せられないと思う。
一足飛びに答えに到達しようと思うんじゃなくって、一歩一歩ステップアップ
していかないと。
まずは>>29のコードを理解することだ。そのためにコンパイル&実行しろ。
006766
NGNGttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7694&forum=12&start=0
のコードを見た上で言っている。このコードは目的を達成しない。
0068ななし
NGNG↑ここの部分で引っかかるね。
0069デフォルトの名無しさん
NGNG>>29をコマンドラインでコンパイルするときに、
(仮にファイル名を ChkDigit.java とする。)
javac ChkDigit.java
で、実行は、
java ChkDigit "313131313131"
で、試してみたらどうなる?
0070ななし
NGNG0072ななし
NGNG0076ななし
NGNG0077デフォルトの名無しさん
NGNGpublic class ChkDigit {
public static void main(String args[]){
int[] value = new int[13];
int a=0;
int b=0;
for(int i=0; i<12; i++){
value[i] = Integer.parseInt(args[0].substring(i,i+1));
}
value[12] = 0;
for(int j=0; j<12; j++){
if(j%2 == 0){
b += value[j];
}else{
a += value[j];
}
}
a = a * 3;
value[12] = (10 - ((a + b) % 10)) % 10;
for(int k=0; k<13; k++){
System.out.print(value[k]);
}
System.out.print("\n");
}
}
0078>>69=>>77
NGNG0080ななし
NGNGここが引っかかりますね。
008177
NGNG>>79に書いてあるように、そのコードを「そのまま」コンパイル&実行することだ。
君の持っているコードのデバッグなど、手伝わんぞ。
>>77のコードの意味がわからなくてもいいから、とにかくそのままコンパイル&実行すること。
0084ななし
NGNGat ChkDigit.main(ChkDigit.java:7)
Exception in thread "main"
こういうエラー表示になりますが・・。
0085ななし
NGNGoutput.csvに書き出す場合・・
このままのコードでは書き出せないような気がするのですが。
しかも3万件。
008677
NGNG引数がおかしいのだろうな。
Eclipse なら、[実行] の [引き数] タブの「プログラム引数」に
"313131313131"
を入れて [実行] ボタンを押せ。
0088ななし
NGNGしかし、実行時の引数に入力しないと
出ないという事なのでしょうか?
3万件だと相当大変なのですが??
008977
NGNGこの流れを普通のメソッドにすれば一件ごとのチェックデジットの出来上がりだ。
後は CSV データを一行一行どのように取り出すかだ。
CSV データのフォーマットはどうなっている?
12桁の数字以外にもデータが入っていたりしないか?
0090ななし
NGNGコピペで一列だけ取り出して
チェックデジットを書き出した後
そのCSVにコピペしても問題ないかな?とも思ってるのですが??
009177
NGNGコピペでいいんなら、12桁の数字だけコピペで取り出して、
"313131313131"
"123456789012"
"505050505050"
・・・
てな風にして、「プログラム引き数」に何件かづつ貼り付けるようにして、
それでもとのコードをちょっと改造して、
value[i] = Integer.parseInt(args[a].substring(i,i+1));
全体を a の for 文でループをかければよいのでは?
009277
NGNG0094デフォルトの名無しさん
NGNGpublic class CheckDegit{
public static void main(String[] args){
try{
//入力
FileInputStream fis = new FileInputStream("Hello.csv");
InputStreamReader ir = new InputStreamReader(fis , "MS932");
BufferedReader br = new BufferedReader(ir);
//出力
FileOutputStream fos = new FileOutputStream("output.csv");
OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
BufferedWriter bw = new BufferedWriter(osw);
/* ファイル読み込み */
String line;
String s;
while ( (line = br.readLine()) != null) {
s = calcCheckDegit(line);
bw.write(s);
bw.newLine();
}
0095デフォルトの名無しさん
NGNGir.close();
br.close();
bw.close();
osw.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
0096デフォルトの名無しさん
NGNGString originalNumber = number;
int temp = 0;
int total =0;
for(int i=0; i<12; i++){
//temp = Integer.parseInt(originalNumber.charAt(i));
temp = Integer.parseInt(originalNumber.charAt(i) + "");
total = temp * (12 -i ) + total;
}
int checkDegit = 11 - ( total % 11);
String numberWithDegit = originalNumber + Integer.toString(checkDegit);
return numberWithDegit;
}
}
0097デフォルトの名無しさん
NGNG---------------
123456789012(改行)
999999999999(改行)
888888888888(改行)
777777777777(改行)
111111111111(改行)
222222222222(改行)
555555555555(改行)
666666666666(改行)
777777777776(改行)
333333333333(改行)
987654321000(改行)
0098デフォルトの名無しさん
NGNG1234567890124(改行)
9999999999992(改行)
8888888888883(改行)
7777777777774(改行)
11111111111110(改行)
2222222222229(改行)
5555555555556(改行)
6666666666665(改行)
7777777777765(改行)
3333333333338(改行)
9876543210009(改行)
0099デフォルトの名無しさん
NGNGString originalNumber = number;
int temp = 0;
int total =0;
for(int i=0; i<12; i++){
//temp = Integer.parseInt(originalNumber.charAt(i));
temp = Integer.parseInt(originalNumber.charAt(i) + "");
total = temp * (12 -i ) + total;
}
int checkDegit = 11 - ( total % 11);
if( checkDegit == 10){
return originalNumber + "X";
}
if( checkDegit == 11){
checkDegit = 0;
}
String numberWithDegit = originalNumber + Integer.toString(checkDegit);
return numberWithDegit;
}
}
0100デフォルトの名無しさん
NGNG-------------------------
1234567890124(改行)
9999999999992(改行)
8888888888883(改行)
7777777777774(改行)
111111111111X(改行)
2222222222229(改行)
5555555555556(改行)
6666666666665(改行)
7777777777765(改行)
3333333333338(改行)
9876543210009(改行)
0101デフォルトの名無しさん
NGNGこのコードを改造すれば、完成しそうだね。三万件一気には無理だけど。
0102ななし
NGNG0104ななし
NGNG13桁目がXになるものがあります。
それと、12桁目と13桁目の間に半角が空きます。
0105ななし
NGNG0106デフォルトの名無しさん
NGNGチェックデジットの求め方はいろいろありますよ。
半角は・・・。テストしたときはそんなことなかったんですが。
0107デフォルトの名無しさん
NGNGhttp://mt-net.vis.ne.jp/ADFE_mail/0055.htm
0108ななし
NGNG13桁目が出るというソフトがありますが
あんな感じにはならないものでしょうか???
0109ななし
NGNGimport java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
0110ななし
NGNGpublic static void main(String[] args) throws IOException {
//public static void main(String[] args){
System.out.println("データ読み込み開始");
//ファイルオープン
//FileReader fr = new FileReader("input.csv");
//FileWriter fw = new FileWriter("output.csv");
//BufferedReader br = new BufferedReader(new FileReader("input.csv"));
FileInputStream fis = new FileInputStream("input.csv");
InputStreamReader ir = new InputStreamReader(fis, "MS932");
BufferedReader br = new BufferedReader(ir);
//BufferedWriter bw = new BufferedWriter(new FileWriter("output.csv"));
FileOutputStream fos = new FileOutputStream("output.csv");
OutputStreamWriter osw = new OutputStreamWriter(fos, "MS932");
BufferedWriter bw = new BufferedWriter(osw);
0111ななし
NGNG//ファイルから1行読み込む
String data = br.readLine();
bw.write(data);
System.out.println(data);
//読み込んだ1行を数字(int)に分解しながら代入
int[] value = new int[13];
int a = 0;
int b = 0;
for (int i = 0; i < 12; i++) {
//value[i] = Integer.parseInt(args[0].substring(i));
String sub = data.substring(i, i + 1);
value[i] = Integer.parseInt(sub);
}
value[12] = 0;
0112ななし
NGNGfor (int j = 0; j < 12; j++) {
if (j % 2 == 0) {
b += value[j];
} else {
a += value[j];
}
}
a = a * 3;
value[12] = (10 - ((a + b) % 10)) % 10;
//別のファイルに1行出力
for (int k = 0; k < 13; k++) {
System.out.print(value[k]);
bw.write(value[k]);
}
System.out.print("\n");
}
0113ななし
NGNG//br.close();
//bw.close();
fis.close();
ir.close();
fis.close();
bw.close();
osw.close();
fos.close();
System.out.println("データ読み込み終了");
}
}
------------------------------------
現在、こういうコードでもやっていますが
output.csvに一列で。しかも・・・・・・・・・表示が出ます。
この現象ってのは??何でしょうか?
0114デフォルトの名無しさん
NGNGとりあえず、以下のようにコメントしてる行を追加。
//別のファイルに1行出力
for (int k = 0; k < 13; k++) {
System.out.print(value[k]);
bw.write(value[k]);
bw.newLine();//////////←改行
}
System.out.print("\n");
}
0115ななし
NGNG一行(改行)
一行(改行)
みたいな感じが良いのですが??
それと、このコードではチェックデジットの追加された13桁にはなって
いないように思われますが・・・何が原因でしょうか?
0116デフォルトの名無しさん
NGNG家帰ってみてやる。
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGpublic class check {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("input.csv");
InputStreamReader ir = new InputStreamReader(fis, "MS932");
BufferedReader br = new BufferedReader(ir);
FileOutputStream fos = new FileOutputStream("output.csv");
OutputStreamWriter osw = new OutputStreamWriter(fos, "MS932");
BufferedWriter bw = new BufferedWriter(osw);
while (br.ready()) {
//ファイルから1行読み込む
String data = br.readLine();
//読み込んだ1行を数字(int)に分解しながら代入
int[] value = new int[13];
int a = 0;
int b = 0;
for (int i = 0; i < 12; i++) {
String sub = data.substring(i, i + 1);
value[i] = Integer.parseInt(sub);
}
value[12] = 0;
0119デフォルトの名無しさん
NGNGfor (int j = 0; j < 12; j++) {
if (j % 2 == 0) {
b += value[j];
} else {
a += value[j];
}
}
a = a * 3;
value[12] = (10 - ((a + b) % 10)) % 10;
//別のファイルに1行出力
for (int k = 0; k < 13; k++) {
//System.out.print(value[k]);
bw.write(value[k] + "");
}
bw.newLine();
}
fis.close();
ir.close();
fis.close();
bw.close();
osw.close();
fos.close();
System.out.println("データ読み込み終了");
}
}
0120デフォルトの名無しさん
NGNG勉強してね。
0121デフォルトの名無しさん
NGNG作り直したほうがいいかも。
動くだけの代物。。。
0122デフォルトの名無しさん
NGNG3万件、どっちのコードでも出来ましたよ。
2〜3秒くらいで。
0123ななし
NGNGありがとうございます。大変感謝しております(感謝!感謝!)
0124デフォルトの名無しさん
NGNG何であんなに 何とか(Reader|Writer) みたいなのが要るんだ?
0126101
NGNGimport java.io.*;
public class ChkDigit {
public static String calcChkDigit(String line){
int[] value = new int[13];
int a=0;
int b=0;
String result = "";
for(int i=0; i<12; i++){
value[i] = Integer.parseInt(line.substring(i,i+1));
}
value[12] = 0;
for(int j=0; j<12; j++){
if(j%2 == 0){
b += value[j];
}else{
a += value[j];
}
}
a = a * 3;
value[12] = (10 - ((a + b) % 10)) % 10;
for(int k=0; k<13; k++){
result = result + Integer.toString(value[k]);
}
return result;
}
0127101
NGNGtry{
// 入力
FileInputStream fis = new FileInputStream("input.txt");
InputStreamReader ir = new InputStreamReader(fis , "MS932");
BufferedReader br = new BufferedReader(ir);
// 出力
FileOutputStream fos = new FileOutputStream("output.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
BufferedWriter bw = new BufferedWriter(osw);
//ファイル読み込み
String line;
String s;
while ( (line = br.readLine()) != null) {
s = calcChkDigit(line);
bw.write(s);
bw.newLine();
}
fis.close();
ir.close();
br.close();
bw.close();
osw.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
0128ななし
NGNGバーコード以外の項目も入ったCSVデータをそのまま取り込んで
チェックデジットを入れたCSVデータを出すような流れなのですが
現状はeclipseにデータを取り込み、実行させる事で
output.csvに出していますが・・・
これをソフト的にやるには、どのような感じになりますか?
0129デフォルトの名無しさん
NGNG正規表現を使って取り出すとかの方法がある。
どんな感じで他のデータが入っているかがわからんので、どういう風にやるか、
正確なことは言えないけど。
0130ななし
NGNGチェックデジットを計算し追加したものを
outputo.csvで出力する場合・・・
それをeclipseでの実行ではなく、ソフト的にやるには
jsp上でのボタンで指定し、取り込みファイル名から出力ファイル名までの
指定をするような形になるのでしょうか?
イメージとしてはフォトショップでバッチをかけるような感じ?での
(取り込みフォルダと保存フォルダを指定するような)
0131129
NGNG連続した12桁の数字になっているなら、次のようにすればいいんでないの?
Pattern p;
Matcher m;
while ( (line = br.readLine()) != null) {
p = Pattern.compile("\\d{12}");
m = p.matcher(line);
if(m.find()){
line = m.group();
s = calcChkDigit(line);
bw.write(s);
bw.newLine();
}
}
0132129
NGNG入力のCSVファイルにデータをどのように入れるかはそちらの仕様次第。
>>131のコードはCSVファイルができてからの話だからねえ。
一応どんなCSVファイルでも連続した12桁の数値を他で使っていないなら
そのままでも使える。
0133129
NGNGちょっと修正。
String line;
String line2;
String s;
Pattern p;
Matcher m;
while ( (line = br.readLine()) != null) {
p = Pattern.compile("\\d{12}");
m = p.matcher(line);
if(m.find()){
line2 = m.group();
s = calcChkDigit(line2);
line = m.replaceAll(s);
bw.write(line);
bw.newLine();
}
}
0134デフォルトの名無しさん
NGNG掲示板で仕事まるまる手伝うなんて初めて見たよw
■ このスレッドは過去ログ倉庫に格納されています