상세 컨텐츠

본문 제목

[람다, 인터페이스] 문자 세개열 입력, char같으면 가져오기

자바

by esoesmio 2023. 4. 6. 13:53

본문

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


class customstring{
String kkk;
    public String getKkk() {
        return kkk;
    }
    public void setKkk(String kkk) {
        this.kkk = kkk;
    }
    customstring(String kkk){
        this.kkk = kkk;
    }
}
public class Main {
    public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
        List<customstring> a = new ArrayList<>();
        for(int i=0;i<3;i++){

            a.add(new customstring(sc.next()));
        }
        sc.nextLine();
        char b = sc.nextLine().charAt(0);
        usercharstring u = new usercharstring();

      for(int i=0;i<a.size();i++) {
          u.changestr(b, a.get(i).getKkk(), (z, x) -> {
              int count = 0;
              for (int j = 0; j < x.length(); j++) {
                  if (x.charAt(j) == z) {
                      count++;
                  }

              }
              if (count > 0) {
                  return x;
              } else {
                  return "";
              }

          });

      }



    }


}


interface userchar {

    public String finduserchar(char ch, String str);


}

class usercharstring {

    public String changestr(char ch, String a, userchar u) {
        System.out.println(u.finduserchar(ch, a));
        return u.finduserchar(ch, a);
    }

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }

    String str;

}

다른방법

 

import java.util.ArrayList;
import java.util.Scanner;

public class z1 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> a = new ArrayList<>();
for(int i=0;i<3;i++){

a.add(sc.next());
}
System.out.println("촤 입력");
char c = sc.next().charAt(0);
qkRNjqjfu q = new qkRNjqjfu() {
@Override
public String qkRNj(char c, String str) {
if(str.contains(String.valueOf(c))){

return str;
}
return "";
}
};
// qkRNjqjfu q = (z, str)->{
// if(str.contains(String.valueOf(z))){
//
// return str;
// }
// return "";
// };

for(String n:a){
System.out.println(q.qkRNj(c,n));};
}
}


interface qkRNjqjfu{

public String qkRNj(char c, String str);
}

 

 

또다른방법

 

 

 

 

 

import java.util.ArrayList;
import java.util.Scanner;

public class z1 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<charchar> a = new ArrayList<>();
for (int i = 0; i < 3; i++) {

a.add(new charchar(sc.next()));
}
System.out.println("촤 입력");
char c = sc.next().charAt(0);




for(int i=0;i<a.size();i++) {


System.out.println(


a.get(i).changestr(c,(x,y)->{

if(y.contains(String.valueOf(x))){
return y;


}
return "";

})



);

}

}
}

class charchar {
charchar(String str){
this.str = str;
}
public String getStr() {
return str;
}

public void setStr(String str) {
this.str = str;
}

String str;

public String changestr(char ch, userchar u) {
return u.finduserchar(ch, this.getStr());

}


}

interface userchar {

String finduserchar(char ch, String str);
}

관련글 더보기

댓글 영역