[白俊]1436号:映画監督


質問する



感じます


666が連続して少なくとも3回以上入っていることを確認するために、最初はその6かどうかを数字で分けて見る方式で行われていましたが、複雑すぎることに気づき、どうすればいいのか探し始めました.まず文字列に変換して「666」文字列が含まれているかどうかを確認すると、使用contains()メソッドで可能なヒントさえ得られます.
そしてね.
while(true)は反復文の理解不足のため1時間30分反復した.結局2時間以内に解けた.
while私はもっと複文を勉強すべきだと思います.

基本概念


666が含まれているかどうかを確認する場合は、文字列を使用して識別することが望ましい.
cf.
int->String:String.valueOf()Integer.toString()String -> int : Integer.valueOf()

Javaで、文字列に文字が含まれているかどうかを確認します。

  • contains()
  • booleans contains(CharSequence s)
  • ターゲット文字列に特定の文字列が含まれているかどうかを決定する関数
  • 大文字と小文字の区別
  • public class baek_1436 {
    
    	public static void main(String[] args) {
    
    		String str = "1999666";
    		
    		System.out.println(str.contains("666")); // true
    		System.out.println(str.contains("9")); // true
    		System.out.println(str.contains("66 ")); // false (공백구분)
    		
    	}
    
    }
  • indexOf()
  • int indexOf(String str)
  • ターゲット文字列にその文字列が含まれているかどうか
  • -1出力なし、str出力1文字目のインデックス値
  • public class baek_1436 {
    
    	public static void main(String[] args) {
    
     String str1 = "Hello World!";
    	     if(str1.indexOf("World") != -1)
    		 {
    		        System.out.println(str1.indexOf("World")); 
                            // 6
    	    	 	System.out.println("The String "+str1+" contains World"); 
                            // The String Hello World! contains World     
    		 }
    	     else
    		 {
    		         System.out.println("The String "+str1+"does not contain World"); 
    		 } 
         }
    }

    に答える

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		
    	      int count = 0; // N과 비교하기 위한 ~번째
    	      
    	      Scanner sc = new Scanner(System.in);
    	      
    	      int N = sc.nextInt(); // 입력받는 ~번째
    	      
    	      sc.close();
    	      
    	      int num = 666; // 출력되는 N번째 수
    	      
    	      String str = String.valueOf(num);
    	      
    	      while(true) {
    
    	    	  if(str.contains("666")) {
    	    		  count++;
    	    		  //System.out.println(count);
    	    	  }
    	    	  
    	  
    	    	  if(count == N){
    	    	      System.out.println(num);
    	    	      break;
    	    	  }
    	    	  
    	    	  num++; 
    	    	  
    	    	  str = String.valueOf(num);
    	      }
    	}
    }

    References


    Javaで、文字列に文字が含まれているかどうかを確認します.
    https://www.delftstack.com/ko/howto/java/how-to-check-if-a-string-contains-character-in-java/
    contains()メソッド
    https://mine-it-record.tistory.com/137
    ブログありがとうございます
    https://st-lab.tistory.com/103