처음에는 자바에 관해서 꽤 신선합니다. 내 프로그램은 사용자에게 문자열을 물어보고 방금 쓴 내용을 인쇄하기로되어 있습니다. 그러면 모든 문자를 소문자로 바꾸고 문자열에서 모든 공백을 제거하고이를 인쇄해야합니다. 이 후 알파벳 문자 배열을 인쇄하고 별표 (*)를 사용하여 문자열에 문자가 나타날 때마다 표시합니다 (여기서 시작하는 위치조차 알지 못합니다). 방금 배열에 문자열을 인쇄합니다 (올바르지 않습니다). 이것은 내가 지금까지 가지고있는 것이다. 공백이없는 문자열이나 원본이지만 둘 다 인쇄되지 않습니다. 내 개체/배열 명명은 잔인하며 미리 사과드립니다. 여기에 당신이 다음을 수행하는 프로그램 작성할 수 있습니다 본 과제에서 질문 입니다 : 모든 지침은 크게문자 배열의 문자 수 - Java
편집 주시면 감사하겠습니다
입력에 양의 정수 m를 사용자에게 물어보고, 그 정수를 읽는다. 이 정수를 읽으려면 main에 선언 된 스캐너 객체를 사용하십시오.
m 문자열을 입력하라는 메서드를 호출합니다. 문자열은 으로 읽혀 지므로 한 문자열 st로 연결해야합니다. m 문자열을 읽고 단일 문자열 st를 형성 한 후 메서드는 st를 반환해야합니다. 주 :이 메서드에는, m로 수신하는 int와 main로 선언 된 Scanner 객체를 받기위한 Scanner 객체의 2 개의 파라미터가 있습니다.
주 인쇄에서는이 메서드에서받은 연결 문자열을 사용합니다.
주에서 String 객체를 소문자로 변환합니다.
주에서는 소문자 String 객체를 char 배열로 변환합니다. (모든 글자 은 소문자입니다.)
방금 만든 문자 배열. 루프 구조가 필요합니다.
다음과 같은 방법으로 문자 배열을 압축하는 메서드를 호출합니다. 이 메서드는 배열의 알파벳 문자를 계산하고 크기가 해당 개수와 같은 새 배열을 만들고 원래 배열의 문자 만 새 배열에 복사합니다. 새로운 배열을 돌려줍니다.
주에서 크기가 26 인 정수 배열을 선언하십시오. 두 개의 매개 변수 인 문자 배열 x (소문자 만 포함하고 main에 선언 된 정수 배열 z를 포함하는)를 호출하십시오. 메서드는 정수 배열의 모든 항목을 0으로 설정합니다. 그런 다음 소문자 글자 배열을 처리하고 각 글자가 나오는 횟수를 계산합니다. 힌트 : z [x [i] -97] ++는 계산을 할 수 있습니다. a의 ASCII 코드는 97이므로 x [i]가 'a'이면 z [0]이 증가합니다. 'b'를 지정하면 z [1]이 증가합니다. 이제 정수 배열에 소문자 배열에있는 문자의 도수 분포가 포함됩니다.
하나의 정수 배열 매개 변수 (빈도 분포 배열을 수신함)를 사용하여 각 문자를 새 줄에 인쇄 한 다음 그 배열 요소의 정수 값과 동일한 별 수를 인쇄하십시오. 이것은 깔끔하게 정렬되어야합니다. 힌트 : i가 0 ≤ ≤ 25 인 인덱스 인 경우, (char) (i + 97)는 소문자 알파벳입니다. 컴퓨터 과학 차의 컵은 아니다처럼
package lab6; import java.util.Scanner; public class Lab6 { public char sent[]; public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("enter the number of strings you want: "); int m = input.nextInt(); Lab6 loo = new Lab6(); loo.print(loo.loop(m)); } public String loop(int m) { //print the string that was entered String total = " "; for (int i = 1; i <= m; i++) { Scanner input = new Scanner(System.in); System.out.println("enter string: " + i); String st = input.nextLine(); total += st + ""; } System.out.println(total); return total; } public void print(String ht) { //print array String st = ht.toLowerCase().replaceAll("\\s", ""); sent = st.toCharArray(); for (int i = 0; i < sent.length; i++) { System.out.println(sent[i]); } } }
다음은'이것 이후로 알파벳의 문자 배열을 출력하고 별표 (*)를 사용하여 문자열에 문자가 나타날 때마다 표시합니다. ' 소문자로 변환 한 후 공백을 제거하면'* '로 구분 된 모든 문자를 인쇄하려고합니다. –
-1 TA/교수에게 물어 보는 것이 가장 좋은 방법입니다. 귀하는 실제 질문을 게시하지 않았습니다. – Craigy
여기에 실제 질문은 없습니다. 도움이 필요한 것이 무엇인지 구체적으로 설명하십시오. – Fiver