/**
* ドメイン非依存URL出力フィルタ
* javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい
*
* データベースには絶対URL(https://minner.asia)を保持し、
* 表示時に現在のドメイン(home_url())に動的変換する
*/
function javadrill_make_urls_dynamic($content) {
if (empty($content)) {
return $content;
}
// データベース内の絶対URLを現在のhome_url()に置換
$old_url = 'https://minner.asia';
$new_url = untrailingslashit(home_url());
// http版も対応(念のため)
$content = str_replace($old_url, $new_url, $content);
$content = str_replace('http://minner.asia', $new_url, $content);
return $content;
}
// 投稿本文、ウィジェット、タームの説明、抜粋に適用
add_filter('the_content', 'javadrill_make_urls_dynamic', 20);
add_filter('widget_text', 'javadrill_make_urls_dynamic', 20);
add_filter('term_description', 'javadrill_make_urls_dynamic', 20);
add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20);
import java.util.ArrayList;
public class ProductUtil {
public static void printStockList(ArrayList<Product> products) {
for (Product p : products) {
System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
}
}
public static void searchByName(ArrayList<Product> products, String keyword) {
boolean found = false;
for (Product p : products) {
if (p.getName().equals(keyword)) {
System.out.println(p.getName() + "ã®åœ¨åº«æ•°: " + p.getStock());
found = true;
break;
}
}
if (!found) {
System.out.println("該当商å“ãªã—");
}
}
public static void printLowStockProducts(ArrayList<Product> products, int threshold) {
for (Product p : products) {
if (p.getStock() < threshold) {
System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
}
}
}
public static void updateStockByName(ArrayList<Product> products, String keyword, int newStock) {
boolean found = false;
for (Product p : products) {
if (p.getName().equals(keyword)) {
p.setStock(newStock);
System.out.println(p.getName() + "ã®åœ¨åº«æ•°ã‚’" + newStock + "ã«æ›´æ–°ã—ã¾ã—ãŸ");
found = true;
break;
}
}
if (!found) {
System.out.println("該当商å“ãªã—");
}
}
}
ã“ã“ã§ã¯ã€Step01〜09ã§å¦ã‚“ã 内容を組ã¿åˆã‚ã›ã¦1ã¤ã®å®Œæˆã•れãŸãƒŸãƒ‹ã‚¢ãƒ—リã«ä»•上ã’ã‚‹ã“ã¨ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚
å„処ç†ã‚’å˜ä½“ã§æ›¸ã‘るよã†ã«ãªã‚‹ã ã‘ã§ãªãã€å¿…è¦ã«å¿œã˜ã¦å‘¼ã³å‡ºã—ã¦å‹•ã‹ã›ã‚‹è¨è¨ˆã«æ…£ã‚Œã‚‹ã“ã¨ãŒå¤§åˆ‡ã§ã™ã€‚
101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ã¡ã‚ƒã‚“ã¨å‹•ã„ãŸã‘ã©ã€Œãªã‚“ã§ï¼Ÿã€ã£ã¦æ€ã£ã¦ã‚‹äººå‘ã‘ã®è§£èª¬ã€ã‚るよ。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Product {
private String name;
private int stock;
public Product(String name, int stock) {
this.name = name;
this.stock = stock;
}
public String getName() {
return name;
}
public int getStock() {
return stock;
}
// 在庫数を更新ã™ã‚‹setterメソッドを追åŠ
public void setStock(int stock) {
this.stock = stock;
}
}
ProductUtil.java
import java.util.ArrayList;
public class ProductUtil {
public static void updateStockByName(ArrayList<Product> products, String keyword, int newStock) {
boolean found = false;
for (int i = 0; i < products.size(); i++) {
Product p = products.get(i);
if (p.getName().equals(keyword)) {
p.setStock(newStock); // 在庫を更新
System.out.println(p.getName() + "ã®åœ¨åº«æ•°ã‚’" + newStock + "ã«æ›´æ–°ã—ã¾ã—ãŸ");
found = true;
break;
}
}
if (!found) {
System.out.println("該当商å“ãªã—");
}
}
}
private ã«ã—ã€å¤‰æ›´ã¯ãƒ¡ã‚½ãƒƒãƒ‰çµŒç”±ã§è¡Œã†p.stock = ... ã®ã‚ˆã†ã«ã¯æ›¸ã‹ãªã„== ã§ã¯ãªãå¿…ãš .equals() を使ã†"該当商å“ãªã—" ã®å‡ºåŠ›åˆ¶å¾¡ã«ä½¿ãˆã‚‹101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 処ç†ã®æµã‚Œã€ã¡ã‚ƒã‚“ã¨ã‚¤ãƒ¡ãƒ¼ã‚¸ã§ãã¦ã‚‹ï¼Ÿè‡ªä¿¡ãªã„ãªã‚‰ã“ã“。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
import java.util.ArrayList;
public class ProductUtil {
public static void printLowStockProducts(ArrayList<Product> products, int threshold) {
for (int i = 0; i < products.size(); i++) {
Product p = products.get(i);
// 在庫ãŒthreshold未満ã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯
if (p.getStock() < threshold) {
// 該当商å“ã®ã¿å‡ºåŠ›
System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
}
}
}
}
< を使ã„ã€ã€Œæœªæº€ã€ã®ã¿ã‚’抽出ã™ã‚‹< ã‚’ã€å«ã‚ãŸã„ã¨ã㯠<= を使ã†System.out.println(...)if æ–‡ã§ã‚¹ã‚ップã•れる(else ã™ã‚‰ä¸è¦ï¼‰"商å“å (在庫: 数値)" ã«å›ºå®š101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ç†è§£ãŒãƒ•ワッã¨ã—ã¦ã‚‹ãªã‚‰ã€ã“ã“ã§å›ºã‚ã‚。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
import java.util.ArrayList;
public class ProductUtil {
public static void searchByName(ArrayList<Product> products, String keyword) {
boolean found = false;
for (int i = 0; i < products.size(); i++) {
Product p = products.get(i);
if (p.getName().equals(keyword)) {
System.out.println(p.getName() + "ã®åœ¨åº«æ•°: " + p.getStock());
found = true;
break;
}
}
if (!found) {
System.out.println("該当商å“ãªã—");
}
}
}
products.get(i) ã§1ä»¶ãšã¤ Product ã‚’å–り出ã™p.getName().equals(keyword) ã§åå‰ãŒä¸€è‡´ã™ã‚‹ã‹ãƒã‚§ãƒƒã‚¯
== ã§ã¯ãªã .equals() を使ã†ç†ç”±ï¼šJavaã§ã¯æ–‡å—列ã¯ä¸èº«ã§æ¯”較ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚boolean found = false を使ã£ã¦ã€è¦‹ã¤ã‹ã£ãŸã‹ã©ã†ã‹ã®çŠ¶æ…‹ã‚’è¨˜éŒ²if (!found) ã§å‡ºåŠ›ã‚’åˆ¶å¾¡101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 自信ã‚ã‚‹ãªã‚‰èªã¾ãªãã¦ã„ã„。モヤモヤã—ã¦ã‚‹ãªã‚‰ä»Šã™ãクリック。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// ArrayList<Product> åž‹ã®ãƒªã‚¹ãƒˆã‚’作æˆ
ArrayList<Product> products = new ArrayList<>();
// new Product(...) ã§å•†å“を作りã€ãƒªã‚¹ãƒˆã«è¿½åŠ
products.add(new Product("りんã”", 10));
products.add(new Product("ã¿ã‹ã‚“", 5));
products.add(new Product("ãƒãƒŠãƒŠ", 3));
// リスト内ã®ã™ã¹ã¦ã®å•†å“をループã§å‡ºåŠ›
for (int i = 0; i < products.size(); i++) {
// i番目ã®Productã‚’å–å¾—
Product p = products.get(i);
// 商å“åã¨åœ¨åº«æ•°ã‚’å–å¾—ã—ã¦ã€æŒ‡å®šã•れãŸãƒ•ォーマットã§å‡ºåŠ›
System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
}
// 出力:
// りん㔠(在庫: 10)
// ã¿ã‹ã‚“ (在庫: 5)
// ãƒãƒŠãƒŠ (在庫: 3)
}
}
products.add(...) ã«ã‚ˆã£ã¦ãƒªã‚¹ãƒˆã®æœ«å°¾ã«è¦ç´ ãŒè¿½åŠ ã•れã¦ã„ã。new Product(...) ã§ãã®å ´ã§ã‚ªãƒ–ジェクトを作ã£ã¦æ¸¡ã—ã¦ã„る。i = 0 ã‹ã‚‰ i < products.size() ã¾ã§ãƒ«ãƒ¼ãƒ—ã™ã‚‹ã“ã¨ã§å…¨ä»¶ã‚’処ç†ã§ãる。products.get(i) ã§ Product ã‚’å–å¾— → getName()・getStock() ã§æƒ…å ±ã‚’å–り出ã™ã€‚101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// オレも昔ã“ã“ã§è©°ã¾ã£ãŸã€‚ã ã‹ã‚‰æ›¸ã„ãŸã€‚èªã‚。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Product {
// 商å“å
private String name;
// 在庫数
private int stock;
// ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ï¼ˆåˆæœŸåŒ–)
public Product(String name, int stock) {
this.name = name;
this.stock = stock;
}
// 商å“åã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public String getName() {
return name;
}
// 在庫数をå–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public int getStock() {
return stock;
}
}
Main.java
public class Main {
public static void main(String[] args) {
Product p1 = new Product("りんã”", 10);
Product p2 = new Product("ã¿ã‹ã‚“", 5);
System.out.println(p1.getName() + " (在庫: " + p1.getStock() + ")");
// 出力: りん㔠(在庫: 10)
System.out.println(p2.getName() + " (在庫: " + p2.getStock() + ")");
// 出力: ã¿ã‹ã‚“ (在庫: 5)
}
}
Product ã¯ã€Œå•†å“ã€ã‚’表ã™è¨è¨ˆå›³private String name; ã¯ãƒ‡ãƒ¼ã‚¿ã®éš 蔽(カプセル化)this.name = name; ã¯ã€Œå¼•æ•°ã®nameをフィールドã«ä»£å…¥ã™ã‚‹ã€ã¨ã„ã†Javaã®åŸºæœ¬å½¢getName() ã‚„ getStock() ã¯ã€ãƒ•ィールドã®å€¤ã‚’「外ã‹ã‚‰èªã‚るよã†ã«ã™ã‚‹ã€ãŸã‚ã®æ–¹æ³•101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ã“ã®ã‚ãŸã‚Šã§ã¤ã¾ãšãã®ã€ã‚ã¡ã‚ƒãã¡ã‚ƒå¤šã„。解説ã‚ã‚‹ãžã€‚
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
import java.util.ArrayList;
public class Step04_Tests {
public static void main(String[] args) {
// テストケース01
String[] names1 = {"りんã”", "ã¿ã‹ã‚“", "ãƒãƒŠãƒŠ"};
convertAndPrintList(names1);
// 出力:
// りんã”
// ã¿ã‹ã‚“
// ãƒãƒŠãƒŠ
// テストケース02
String[] names2 = {"メãƒãƒ³", "ã¶ã©ã†"};
convertAndPrintList(names2);
// 出力:
// メãƒãƒ³
// ã¶ã©ã†
}
// 商å“åã®é…列をArrayListã«å¤‰æ›ã—ã€å‡ºåŠ›ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static void convertAndPrintList(String[] names) {
// 空ã®ArrayListを作æˆ
ArrayList<String> list = new ArrayList<>();
// é…列ã‹ã‚‰ãƒªã‚¹ãƒˆã¸è¦ç´ を追åŠ
for (int i = 0; i < names.length; i++) {
list.add(names[i]);
}
// リストã®è¦ç´ ã‚’1行ãšã¤å‡ºåŠ›
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
ArrayList ã«å¤‰æ›ã™ã‚‹ã®ã‹ï¼Ÿ
ArrayList ã¯è¦ç´ ã®è¿½åŠ ãƒ»å‰Šé™¤ãŒè‡ªç”±ã«ã§ãã‚‹ArrayList を使ã†å ´é¢ãŒå¤šã„ãŸã‚ã€é…列ã‹ã‚‰ã®å¤‰æ›ã‚’ç†è§£ã™ã‚‹ã“ã¨ã¯é‡è¦list.add(...) ã®æ„味
ArrayList ã«è¦ç´ ã‚’1ã¤ãšã¤è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰add ã—ã¦ã„ãSystem.out.println(list.get(i))
list.get(i) ã§ i番目ã®è¦ç´ ã‚’å–å¾—ArrayList ã® get() メソッドã¯ã€é…列㮠[] ã«ç›¸å½“ã™ã‚‹101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ãªã‚“ã§ãã†ãªã‚‹ã®ï¼Ÿã£ã¦æ€ã£ãŸã‚‰ã€ã“ã“を見ã‚。
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Step03_Tests {
public static void main(String[] args) {
// テストケース01
String[] names1 = {"りんã”", "ã¿ã‹ã‚“", "ãƒãƒŠãƒŠ"};
int[] stocks1 = {10, 5, 3};
printStockList(names1, stocks1);
// 出力:
// りんã”: 10
// ã¿ã‹ã‚“: 5
// ãƒãƒŠãƒŠ: 3
// テストケース02
String[] names2 = {"メãƒãƒ³", "ã¶ã©ã†"};
int[] stocks2 = {0, 8};
printStockList(names2, stocks2);
// 出力:
// メãƒãƒ³: 0
// ã¶ã©ã†: 8
}
// 商å“åã¨åœ¨åº«æ•°ã‚’対応表示ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static void printStockList(String[] names, int[] stocks) {
// åŒã˜ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ã£ã¦ã€åå‰ã¨åœ¨åº«ã‚’ペアã§å‡ºåŠ›
for (int i = 0; i < names.length; i++) {
// i番目ã®åå‰ã¨åœ¨åº«ã‚’ ":" ã§ã¤ãªã„ã§å‡ºåŠ›
System.out.println(names[i] + ": " + stocks[i]);
}
}
}
stocks.length ã§ã‚‚åŒã˜ã ãŒã€å¿…ãšä¸€æ–¹ã«æƒãˆã‚‹+ を使ã£ã¦æ–‡å—åˆ—ã¨æ•°å€¤ã‚’連çµã—ã€ã€Œåå‰: æ•°é‡ã€ã®å½¢ã«æ•´ãˆã¦å‡ºåŠ›101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// モヤã£ãŸãªã‚‰ã€ã“れèªã‚。スッã¨ã™ã‚‹ã‹ã‚‰ã€‚
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Step02_Tests {
public static void main(String[] args) {
// テストケース01
int[] stocks1 = {10, 5, 3, 0, 8};
checkOutOfStock(stocks1);
// 出力: "在庫切れã‚り"
// テストケース02
int[] stocks2 = {1, 2, 3};
checkOutOfStock(stocks2);
// 出力: "在庫切れãªã—"
// テストケース03
int[] stocks3 = {0, 0, 0};
checkOutOfStock(stocks3);
// 出力: "在庫切れã‚り"
}
// åœ¨åº«åˆ‡ã‚Œã®æœ‰ç„¡ã‚’判定ã—ã¦å‡ºåŠ›ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static void checkOutOfStock(int[] stocks) {
// é…列ã®å„è¦ç´ ã‚’é †ç•ªã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹
for (int i = 0; i < stocks.length; i++) {
// 在庫ãŒ0ãªã‚‰ã€å³ã€Œåœ¨åº«åˆ‡ã‚Œã‚りã€ã¨å‡ºåŠ›ã—ã¦çµ‚了
if (stocks[i] == 0) {
System.out.println("在庫切れã‚り");
return; // メソッドをã“ã“ã§çµ‚了
}
}
// 最後ã¾ã§0ãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã‚‰ã€åœ¨åº«åˆ‡ã‚Œã¯ãªã„
System.out.println("在庫切れãªã—");
}
}
解説在庫ãŒ0ã®å•†å“ãŒ1ã¤ã§ã‚‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã¦ã€å‡ºåŠ›ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’作る
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€é…列ã®ä¸ã«ç‰¹å®šã®æ¡ä»¶ï¼ˆåœ¨åº«0)を満ãŸã™è¦ç´ ãŒ1ã¤ã§ã‚‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã‚‹ã¨ã„ã†å‡¦ç†ã‚’メソッドã¨ã—ã¦å®Ÿè£…ã—ã¾ã™ã€‚
ã“れã¯ã€Œæ¤œç´¢å‡¦ç†ã®æœ€åˆã®åž‹ã€ã‚’å¦ã¶å ´ã§ã™ã€‚
ã©ã“ã‹ã«è©²å½“ã™ã‚‹ã‚‚ã®ãŒã€Œã‚ã‚‹ã‹ï¼ãªã„ã‹ã€ã‚’判æ–ã™ã‚‹å‡¦ç†ã¯ã€å®Ÿå‹™ã§ã‚‚éžå¸¸ã«å¤šã使ã‚れã¾ã™ã€‚
stocks を引数ã¨ã—ã¦å—ã‘å–るメソッド。stocks[i] ã«å¯¾ã—ã¦ã€ã€ŒãれãŒ0ã‹ã©ã†ã‹ã€ã‚’判定ã™ã‚‹ã€‚return; を使ã£ã¦ã€ãã®å ´ã§ãƒ¡ã‚½ãƒƒãƒ‰ã‚’終了ã™ã‚‹ã€‚0 ãŒè¦‹ã¤ã‹ã£ãŸæ™‚点ã§ã€Œåœ¨åº«åˆ‡ã‚Œã‚りã€ã‚’出力 → 終了0 ãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´åˆã®ã¿ã€Œåœ¨åº«åˆ‡ã‚Œãªã—ã€ã‚’出力101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 引ã£ã‹ã‹ã£ãŸï¼Ÿå®‰å¿ƒã—ã‚ã€ã“ã“ã«å…¨éƒ¨æ›¸ã„ã¦ã‚‹ã€‚
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Step01_Tests {
public static void main(String[] args) {
// テストケース01
int[] stocks1 = {10, 5, 3, 0, 8};
printStockSum(stocks1);
// 出力: "åˆè¨ˆåœ¨åº«æ•°: 26"
// テストケース02
int[] stocks2 = {0, 0, 0};
printStockSum(stocks2);
// 出力: "åˆè¨ˆåœ¨åº«æ•°: 0"
// テストケース03
int[] stocks3 = {100};
printStockSum(stocks3);
// 出力: "åˆè¨ˆåœ¨åº«æ•°: 100"
}
// 在庫ã®åˆè¨ˆã‚’求ã‚ã¦å‡ºåŠ›ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static void printStockSum(int[] stocks) {
// åˆè¨ˆå€¤ã‚’æ ¼ç´ã™ã‚‹å¤‰æ•°
int sum = 0;
// é…列ã®ã™ã¹ã¦ã®è¦ç´ をループã—ã¦åŠ ç®—
for (int i = 0; i < stocks.length; i++) {
sum += stocks[i]; // i番目ã®è¦ç´ ã‚’sumã«è¶³ã™
}
// フォーマットã«å¾“ã£ã¦å‡ºåŠ›
System.out.println("åˆè¨ˆåœ¨åº«æ•°: " + sum);
}
}
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã®ã‚´ãƒ¼ãƒ«ã¯ã€ã€Œå•†å“ã”ã¨ã®åœ¨åº«æ•°ã‚’é…列ã§å—ã‘å–りã€ãã®åˆè¨ˆã‚’出力ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’è‡ªåˆ†ã§æ›¸ãã“ã¨ã€ã§ã™ã€‚
Javaã®åŸºæœ¬ã§ã‚ã‚‹é…列ã®ãƒ«ãƒ¼ãƒ—処ç†ã¨åˆè¨ˆå€¤ã®è¨ˆç®—ã‚’ã€è‡ªåˆ†ã®æ‰‹ã§ã—ã£ã‹ã‚Šçµ„ã¿ç«‹ã¦ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚‹ã®ãŒç›®çš„ã§ã™ã€‚
int[] stocks を引数ã¨ã—ã¦å—ã‘å–ã‚‹for æ–‡ã§é…列ã®ä¸èº«ã‚’1ã¤ãšã¤å–り出ã™0 ã§ã‚ã‚‹ã®ã¯å½“然。stocks.length。インデックス㯠0 ã‹ã‚‰å§‹ã¾ã‚‹ã€‚sum = sum + stocks[i]; ã‚’çœç•¥ã—ãŸå½¢ã€‚+ を使ãˆã°OK。101 ステップアップå•題 「é…列修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œé…列修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 「ã“ã“ã§ã¤ã¾ãšã„ãŸãªã‚‰çµ¶å¯¾èªã‚“ã§ãã‚Œã€æ›¸ã„ã¦ã‚ã‚‹ã‹ã‚‰ã€
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™