20211014のJavaに関する記事は6件です。

ifLinkにサイコロIMSが新たに追加になりました。

はじめに ifLinkマイクロサービスを開発している八教と申します。 新たに3つのサイコロ出目及び出目の合計を取得し、ifLinkに通知するIMSが追加されましたので、 紹介させていただきます。 ifLinkとは サイコロIMSとは 3つのサイコロの出目、または出目の合計をifLinkのIFとして設定できます。 例えばIF条件をサイコロ出目の10以上とし、サイコロを振って10以上が出た場合に「あたり!」をトーストメッセージIMSで表示できます。 サイコロで遊ぶまで サイコロで遊ぶまでに以下の準備が必要です。 1.IAIIMSをインストールする   IAIIMSはサイコロIMSとifLinkをつなげる為に必要です。   以下リンクよりインストールしてください。   https://dev.iflink.link/ 2.SaicoroIMSをインストールする   さいころゲーム本体で、以下リンクのReleasesのSaicoroGame.apkをダウンロードしてください。   https://github.com/ifLinkOpenCommunity/SaicoroIMS 3.ルールを作成・配信する   IF条件で「Saicoro-Game-ToifLink」を選択してください。  条件は以下の通りです  ①.サイコロの目が設定通りなら    3つのサイコロの出目が設定した値と一致したらTHENが起動します    出目の順番はサイコロを振った順(ランダムで振られます)  ②.サイコロの目の合計値が設定通りなら    3つのサイコロの出目の合計値が設定した値と一致したらTHENが起動します  ➂.サイコロの目の合計値が設定以上なら    3つのサイコロの出目の合計値が設定した値以上ならTHENが起動します  ④.サイコロの目の合計値が設定以下なら    3つのサイコロの出目の合計値が設定した値以下ならTHENが起動します 4.SaicoroGameで遊びましょう!   以下アイコンをタップしてサイコロゲームを起動します。 起動すると何も表示されていない画面が表示されます。 画面をタップするとサイコロが振られます。 サイコロの動きが止まると出目が確定します。 確定した出目と出目の合計がトーストで表示されます。 IFで設定した条件に合致するとTHENが起動しトーストメッセージ「あたり!」が表示されます。 是非お試しいただければと思います。 【検証端末】  Pixel 4a XL Androidバージョン11  Oppo A5 2020 Androidバージョン10
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【mac OS】Big Surに変更したら注意すること

cordova でAndroid Studioのエミュレーター動かない問題 macでOSをBig Surに変更後、Android Studioのエミュレータを起動して、cordovaと連携してアプリ開発をする場合は注意が必要です。 % cordova run android をターミナルで実行すると、 Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager. というエラーが表示されます。 下記のStackoverflowで記載されているようにSDK versionを変更しても、新たにエラーが生じてしまいます。 新たなエラーは下記の通りです。 Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation. 実はこの問題は、AppleとJava appletプラグインが原因で生じています。Big Surにアップデート後に新たに自動追加されたjavaが原因となっているようです。 java_homeが正しく設定されていない場合に、このようなエラーが生じます。 /usr/libexec/java_home -V ターミナルでJava Versionsのリストを確認し、 1 /usr/libexec/java_home -V 2 3 # This will give an output like: 4 5 Matching Java Virtual Machines (3): 6 11.0.2 (x86_64) "Oracle Corporation" - "Java SE 11.0.2" /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home 7 1.8.271.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 8 1.8.0_201 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home 9 /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home 問題となっている、 "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home を削除する必要があります。 sudo rm -rf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/"
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

The forked VM terminated without saying properly goodbyeした時の対処方法

事象 mvn testでJUnitテスト実行失敗。下記のエラーログがでた。 The forked VM terminated without saying properly goodbye. VM crash or System.exit called "forked"とは? 「フォークする」= テストするためにJVM内にプロセスを生成すること mavenでJUnitテスト実行するときには「maven-surefire-plugin」というプラグイン経由で実行する(のが普通だと思ってる)のだが、テスト用に生成するプロセス数は↓のようにforkCountで制御できる。 例) フォークする最大プロセス数を「3」に設定する <plugin>  <groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-surefire-plugin</artifactId>  <configuration>   <forkCount>3</forkCount>   <argLine>-Xmx1024m</argLine>  </configuration> </plugin> 原因 1つのプロセスでさばくにはテスト負荷が高すぎて死んだ。 The default setting is forkCount=1/reuseForks=true, which means that maven-surefire-plugin creates one new JVM process to execute all tests in one Maven module. https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html# 対処方法 forkCountのデフォルト値は「1」なので、これを「3」に変更して実行したらmvn testうまくいった(´_ゝ`) 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Javaのクラス継承

Javaのクラス継承の検証をしました class Kotehan1 { void kotehan(String t) { System.out.println(t); } } //Kotehan1クラスを継承してAlparajyu1クラスを作成する class Alparajyu1 extends Kotehan1 { private String kotehan_name; void kotehan(String t) { this.kotehan_name = t; System.out.println(this.kotehan_name); } String getkotehan() { //System.out.println(this.kotehan_name); return this.kotehan_name; } } public class Alpa15 { public static void main(String[] name) { // Kotehan1インスタンスを呼び出す Kotehan1 kt = new Kotehan1(); // Alparajyu1インスタンスを呼び出す Alparajyu1 al = new Alparajyu1(); // Alparajyu1インスタンスをKotehan1で呼び出す Kotehan1 kt2 = new Alparajyu1(); //Kotehan1のkotehanメソッドを呼び出す kt.kotehan("アルファラジュ"); //Alparajyu1のkotehanメソッドを呼び出す al.kotehan("アルファラジュ"); //Alparajyu1のgetkotehanメソッドを呼び出す String name1 = al.getkotehan(); //リターンコードを表示 disp(name1); //Alparajyu1のkotehanメソッドを呼び出し、Kotehan1クラス型に変換する kt2.kotehan("アルファラジュ1"); } public static void disp(String s) { System.out.println(s); } } 実行結果は下記の画像になります
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

今日のQuizKnockの動画の問題文作成プログラムをJavaで組んでみた。

プログラミング歴2か月弱です。 いい練習になると思い組んでみました。 import java.util.ArrayList; class eraseDuplicates { public static void main(String args[]) { tryWith("あんぱんまんのあんはつぶあん、こしあんのどちら?"); tryWith("しんせんえんさつのしょうぞうはだれ?"); tryWith("99さいのおいわいをあるいろをもちいてなんという?"); tryWith("せかいいちふかいみずうみは?"); tryWith("みみかきについているふさふさのぶぶんをなんという?"); tryWith("コンゴみんしゅ共和国の首都はきんしゃさですが、" + "コンゴ共和国の首都はどこでしょう?"); tryWith("すももももももなにか?"); } public static void tryWith(String str) { char[] chars = str.toCharArray(); ArrayList<Character> strToChar = new ArrayList<>(); System.out.println(str); for (Character c : chars) { strToChar.add(c); } for (int i = 0; i < strToChar.size(); i++) { for (int j = 0; j < strToChar.size(); j++) { if (i >= 0 && j != i && strToChar.get(j).equals(strToChar.get(i))) { strToChar.remove(j); strToChar.remove(i); i--; for (Character x : strToChar) { System.out.print(x); } System.out.println(); } } } System.out.println(); } } QuizKnockのプロデューサーの方々は頭でやっているようです。 どんな問題文を使えばよいものになるかを考えながら作っていると思うので、このプログラムは見直し程度のものですね。('ω') 以下のリンクで皆さんも遊んでみてください。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

今日のQuizKnockの動画の同じ文字がそろうと消える問題文作成プログラムをJavaで組んでみた。

プログラミング歴2か月弱です。 QuizKnockでこんな動画を見つけて、いい練習になると思い組んでみました。 import java.util.ArrayList; class eraseDuplicates { public static void main(String args[]) { tryWith("あんぱんまんのあんはつぶあん、こしあんのどちら?"); tryWith("しんせんえんさつのしょうぞうはだれ?"); tryWith("99さいのおいわいをあるいろをもちいてなんという?"); tryWith("せかいいちふかいみずうみは?"); tryWith("みみかきについているふさふさのぶぶんをなんという?"); tryWith("コンゴみんしゅ共和国の首都はきんしゃさですが、" + "コンゴ共和国の首都はどこでしょう?"); tryWith("すももももももなにか?"); } public static void tryWith(String str) { char[] chars = str.toCharArray(); ArrayList<Character> strToChar = new ArrayList<>(); System.out.println(str); for (Character c : chars) { strToChar.add(c); } for (int i = 0; i < strToChar.size(); i++) { for (int j = 0; j < strToChar.size(); j++) { if (i >= 0 && j != i && strToChar.get(j).equals(strToChar.get(i))) { strToChar.remove(j); strToChar.remove(i); i--; for (Character x : strToChar) { System.out.print(x); } System.out.println(); } } } System.out.println(); } } あんぱんまんのあんはつぶあん、こしあんのどちら? んぱんまんのんはつぶあん、こしあんのどちら? ぱまんのんはつぶあん、こしあんのどちら? ぱまのはつぶあん、こしあんのどちら? ぱまはつぶあん、こしあんどちら? ぱまはつぶん、こしんどちら? ぱまはつぶ、こしどちら? しんせんえんさつのしょうぞうはだれ? んせんえんさつのょうぞうはだれ? せえんさつのょうぞうはだれ? せえんさつのょぞはだれ? 99さいのおいわいをあるいろをもちいてなんという? さいのおいわいをあるいろをもちいてなんという? さのおわいをあるいろをもちいてなんという? さのおわをあるろをもちいてなんという? さのおわあるろもちいてなんという? さのおわあるろもちてなんとう? せかいいちふかいみずうみは? せいいちふいみずうみは? せちふいみずうみは? せちふいずうは? みみかきについているふさふさのぶぶんをなんという? かきについているふさふさのぶぶんをなんという? かきにつてるふさふさのぶぶんをなんという? かきにつてるささのぶぶんをなんという? かきにつてるのぶぶんをなんという? かきにつてるのんをなんという? かきにつてるのをなという? コンゴみんしゅ共和国の首都はきんしゃさですが、コンゴ共和国の首都はどこでしょう? ンゴみんしゅ共和国の首都はきんしゃさですが、ンゴ共和国の首都はどこでしょう? ゴみんしゅ共和国の首都はきんしゃさですが、ゴ共和国の首都はどこでしょう? みんしゅ共和国の首都はきんしゃさですが、共和国の首都はどこでしょう? みしゅ共和国の首都はきしゃさですが、共和国の首都はどこでしょう? みゅ共和国の首都はきゃさですが、共和国の首都はどこでしょう? みゅ和国の首都はきゃさですが、和国の首都はどこでしょう? みゅ国の首都はきゃさですが、国の首都はどこでしょう? みゅの首都はきゃさですが、の首都はどこでしょう? みゅ首都はきゃさですが、首都はどこでしょう? みゅ都はきゃさですが、都はどこでしょう? みゅはきゃさですが、はどこでしょう? みゅきゃさですが、どこでしょう? みゅきゃさすが、どこしょう? すももももももなにか? すももももなにか? すももなにか? すなにか? QuizKnockのプロデューサーの方々はこれを頭でやっているようです。('ω') 以下のリンクで皆さんも遊んでみてください。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む