2012-01-01から1年間の記事一覧

AOJ volume10016 Grading

import java.util.ArrayList; import java.util.Scanner; public class Grading { private static final int NOT_COME_EXAM = -1; private static Scanner sc = new Scanner(System.in); private static ArrayList<String> result = new ArrayList<String>(); public static </string></string>…

AOJ volume10015 Finding Missing Cards

import java.util.Scanner; public class FindingMissingCards{ private static final int MAX_CARDS = 52; private static final int NUM_SUIT = 4; private static final int MAX_CARD_NUMBER = 13; private static final int SPADE = 0; private static f…

AOJ volume10014 Print a Chessboard

import java.util.ArrayList; import java.util.Scanner; public class PrintChessBoard { private static Scanner sc = new Scanner(System.in); private static ArrayList<Integer> height = new ArrayList<Integer>(); private static ArrayList<Integer> width = new ArrayList<Integer>(); p</integer></integer></integer></integer>…

AOJ volume10013 Print a Frame

import java.util.ArrayList; import java.util.Scanner; public class PrintFrame { private static Scanner sc = new Scanner(System.in); private static ArrayList<Integer> height = new ArrayList<Integer>(); private static ArrayList<Integer> width = new ArrayList<Integer>(); public</integer></integer></integer></integer>…

AOJ volume 10012 Print a Rectangle

import java.util.ArrayList; import java.util.Scanner; public class PrintRectangle { private Scanner sc; private ArrayList<Integer> height; private ArrayList<Integer> width; PrintRectangle(){ this.sc = new Scanner(System.in); this.height = new ArrayList<Integer>(); t</integer></integer></integer>…

AOJ volume 10011 Reversing Numbers

import java.util.Scanner; public class ReversingNumbers { public static void main(String[] args) { //簡単のため入力のチェックはしない Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.next()); if(100 < n || n <= 0){ System.o…

AOJ volume10010 Simple Calculator

import java.util.ArrayList; import java.util.Scanner; public class SimpleCalculator { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ArrayList<Integer> result = new ArrayList<Integer>(); String operand; int a, b; label: //簡単</integer></integer>…

AOJ volume10009 Circle

import java.util.Scanner; public class Circle { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //入力された値がdoubleのとき //入力された値を半径とした円の面積と円周を出力する if(sc.hasNextDouble()){ double r …

AOJ volume10008 A / B Problem

import java.util.Scanner; public class ABProblems { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //簡単のため入力のチェックは行わない int a = sc.nextInt(); int b = sc.nextInt(); //除算の商を求める int d = 0…

AOJ volume10007 Swapping Two Numbers

import java.util.*; public class SwappingTwoNumbers{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); ArrayList<String> result = new ArrayList<String>(); while(sc.hasNextLine()){ int a = sc.nextInt(); int b = sc.nextInt(); if(a</string></string>…

AOJ volume 10006 Print Test Cases

import java.util.*; public class PrintTestCases{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); ArrayList<Integer> n = new ArrayList<Integer>(); while(sc.hasNextInt()){ int value = sc.nextInt(); if(value != 0){ n.add(value); } </integer></integer>…

AOJ volume 10005 Print Many Hello World

public class PrintManyHelloWorld{ public static void main(String[] args){ for(int i = 0; i < 1000; i++){ System.out.println("Hello World"); } } }

AOJ volume10004 Sorting Three Numbers

import java.util.*; public class SortingThreeNumbers{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String[] inputArray = input.split(" "); //if文はループの処理とは関係ないので分…

AOJ volume10003 Small, Large, or Equal

import java.util.*; public class SmallLargeEqual{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String[] inputArray = input.split(" "); if(inputArray.length == 2){ int a = Intege…

AOJ volume10002 Rectangle

import java.util.Scanner; public class Rectangle{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String[] inputArray = input.split(" "); if(inputArray.length == 2){ int width = In…

AOJ volume10001 XCubic

import java.util.Scanner; public class XCubic{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = Integer.parseInt(sc.next()); int result = n * n * n; System.out.println(result); } } }

オブジェクト指向の入り口

学習内容 Aizu Online Judge volume0019 Factorial volume0020 Capitalize volume0021 Parallelism volume0022 Maximum Sum Sequence Java言語で学ぶデザインパターン入門 第1章 Iterator 第2章 Adapter デザインパターン入門 オブジェクト指向の利点に触れ…

デザインパターンはじめました

学習内容 Java言語で学ぶデザインパターン入門 第1章 Iterator デザインパターンの目標 プログラムを再利用可能にすること。 再利用可能にするために考えるべきこと。 機能の拡張 機能の拡張のさい、必要にあるクラス 修正が不要なクラス なぜ抽象クラスが必…

ただの試行錯誤

学習内容 Aizu Online Judge 0019 Factorial 0020 Capitalize 0021 Parallelism Code Compelete 第2版 下 Chapter26 コードチューニングテクニック 試行錯誤ではいけない こうやったらうまくいくのではないだろうか、というコードの修正が多いと感じる。 そ…

1つのアルゴリズム、3つのコード

シェルソートを行う3つのソースコードを読んだ。 ネストの深さとwhile文の使用で読みやすさが向上することを実感。 どこがどう異なっていたのかまとめてみた。 A B C 読みやすさ 1 2 3 言語 JAVA C JAVA 行数 18 3 15 ループの最も深いネスト 3 3 4 最も長…

再開

サボっている間の学習内容 Aizu Online Judge 10問くらい(非受理含む) CodeComplete 第2版 上 読了 CodeComplete 第2版 下 100ページほど Android 画面間、アプリケーション間でのデータのやりとり(Intent, Bundle) googleのAndroidサンプル(Notepadv3)コ…

ループ制御

学習内容 Aizu Online Judge 0000 QQ 0001 List of Top 3 Hills 0002 Digit Number 0003 Is it a Right Triangle? Code Complete 第2版 上 第16章 ループの制御 for文の利点 ループの先頭で一度セットアップしたら、後は忘れてしまえる。 ループの先頭にコー…

例外

throwsとthrowの違い 処理 throw 任意の場所で例外を発生させる throws 例外ハンドラを求めてメソッド呼び出し元をたどっていく 呼び出し元に例外処理を丸投げする

ビギナーボリューム完了

学習内容 Aizu Online Judge 10024 Distance 10025 Triangle 10026 Standard Deviation 10027 Card Game 10028 SortI 10029 SortII 10030 SearchI 10031 SearchII 10032 Stacking BlocksI 10033 Stacking BlocksII ArrayListの領域確保 インスタンスを生成し…

コードの品質

学習内容 Aichi Online Judgement 10021 Finding a Minimum String 10022 Finding a Word 10023 Shuffle コードの品質 このコードでは複雑すぎる、メソッド名がおかしい、オブジェクトとしておかしい、ということが判断できない。 特にオブジェクトとしてお…

値の範囲を意識する

学習内容 Aichi Online Judgement 10018 Toggling Cases 10019 Sum of Numbers 10020 Counting Characters プログラマが知るべき97のこと 28.魔法に頼りすぎてはいけない キャスト eclipseなので型変換ができなければ警告してくれるが、コードを打ち込む前に…

良い名前をつける

学習内容 Aichi Online Judgement 10015 Finding Missing Cards 10016 Grading 10017 How Many Ways? 複数のデータの処理 単一のデータを処理するメソッドを複数回ループさせる。 これにより、一度に考えるべき情報量を少なくする。 メソッド名 getter(acce…

ブレーキをかけない

学習内容 Aichi Online Judgement 10013 Print a Frame 10014 Print a ChessBoard

コツコツやる

学習内容 メモ帳 ダイアログのモーダルダイアログ化 Aichi Online Judgement 10003 Small, Large, or Equal 10004 Sorting Three Numbers 10005 Print Many Hello World 10006 Print Test Cases 10007 Swapping Two Numbers 10008 A / B Problems 10009 Circ…

さぼり気味

学習内容 CodeComplete 第2版 上 14章 ストレートなコードの構成 15章 条件文の使用 19章 制御構造の問題 プログラマが知るべき97のこと 97.ステートに注目する 82.他者への思いやりを意識したコーディング 実行順序の依存性を明白に ルーチン名、引数、コメ…