質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

4回答

11126閲覧

javaで指定された型に適用できません。

hplpjpd

総合スコア20

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2020/05/24 14:18

編集2020/05/24 14:20

javaで指定された型に適用できません。とエラーが出るのですが、原因がわかりません。
引数の型とメソッド宣言の型は、あっていると思われるのですが...

bat

1C:\Users\TEST\Desktop\test>java Playground.java 2Playground.java:45: エラー: クラス Playgroundのメソッド setaは指定された型に適用できません。 3 i.seta("AA");//i.seta(s.geta());i.setb(s.getb()); 4 ^ 5 期待値: 引数がありません 6 検出値: String 7 理由: 実引数リストと仮引数リストの長さが異なります 8エラー1個 9エラー: コンパイルが失敗しました 10

java

1import java.util.stream.Collectors; 2import java.util.Arrays; 3import java.util.ArrayList; 4import java.util.List; 5import java.util.stream.Stream; 6class Playground { 7 String a = "sampl"; 8 int b = 6; 9 public Playground(String a,int b){ 10 this.a = a; 11 this.b = b; 12 } 13 public Playground(){ 14 this.a = "sample"; 15 } 16 public String seta(){ 17 this.a = a; 18 } 19 public int setb(){ 20 this.b = b; 21 } 22 public String geta(){ 23 return a; 24 } 25 public int getb(){ 26 return b; 27 } 28 public static void main(String[ ] args) { 29 //ArrayListを生成する 30 List<Playground> list2 = new ArrayList<Playground>(); 31 32 //値を追加する 33 list2.add(new Playground( "NAKAMURA",1)); 34 list2.add(new Playground("SUZUKI",2)); 35 list2.add(new Playground("SATO",3)); 36 list2.add(new Playground( "KOBAYASHI",4)); 37 list2.add(new Playground( "KONDO",5)); 38 System.out.println( list2); 39 list2.stream().forEach( System.out::println ); 40 String res = list2.stream() 41 .filter( i -> true ) 42 .collect(ArrayList<Playground>::new, 43 ((List<Playground> t, Playground s)->{ 44 Playground i = new Playground(); 45 i.seta("AA");//i.seta(s.geta());i.setb(s.getb()); 46 t.add(i);}), 47 ((List<Playground> t, List<Playground> u)-> t.addAll(u) )) 48 .get(0).geta(); 49 System.out.println("res:"+res); 50 } 51}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

java

1 public String seta(){ 2 this.a = a; 3 } 45 public String seta(String a){ 6 this.a = a; 7 } 8

投稿2020/05/24 14:25

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

引数の型とメソッド宣言の型は、あっていると思われるのですが...

あってないですよ。今あるコードを正しく読んでください。

投稿2020/05/24 14:22

swordone

総合スコア20669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

そもそも「セッターとゲッター」の意味を考えてください。
「セッター」は「値を設定するもの」
「ゲッター」は「値を取得するもの」です。

セットするのにそのセットする情報が渡されていなければセッターとして成り立ちません。

こういうケアレスミスを防ぐのと、コードをスッキリさせるためにLombokというのがあります。
※ただ、質問者さんの場合、ケアレスミスというよりも根本的な理解不足が見られるので、導入するなら重々理解して使うこと。

投稿2020/05/24 18:26

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hplpjpd

2020/05/29 12:14

みなさん回答ありがとうございました。
guest

0

文字列を引数とするメソッドがないです
引数のないやつはありますが

投稿2020/05/24 14:22

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問