나는이 웹 사이트와 자바를 처음 사용하는데 익숙하지만 사용자가 공백이나 쉼표로 구분하지 않고 숫자를 입력 할 수있는 문제를 시도하고있다. 출력은 그 체인에서 가장 연속적으로 그리고 얼마나 많이 나타나는지를 나타냅니다.스캐너 자바를 사용하여 고정 된 입력없이 연속 번호 찾기.
나타나는 숫자의 다른 체인을 비교하는 방법을 알아내는 데 어려움이 있습니다. 예를 들어 행에 3 개의 0이 있고 5 개의 7 개의 값이있는 경우 서로 비교해야합니다.
저는 두 변수를 생각해 냈습니다. 하나는 가장 많이 계산되고 다른 하나는 두 번째 변수가 될 것입니다. 그런 다음 두 번째 자리가 가장 연속적으로 초과하면 두 번째 자리가 첫 번째 자리가되고 값이 0으로 재설정됩니다. 나는 그것을 작동시키지 못했고 for 루프를 사용했기 때문이라고 믿습니다.
질문 :이 문제를 올바르게 해결하는 방법에 대한 지침을 찾고 있습니다. 나는이 모든 잘못에 대해 가겠습니까?
이 코드는 작동하는 유일한 버전입니다. 10000과 같은 숫자를 입력하면 0이 올바르게 입력되지만 100011처럼 숫자가 정확하지 않습니다.
감사합니다.
import java.util.Scanner;
public class Sequence
{
public static void main(String[] args)
{
String numInput;
int mostInaRow = 1;
int secondPlace = 1;
char mostNum = 1;
Scanner input = new Scanner(System.in);
System.out.println("Enter the numbers");
numInput = input.next();
for (int i = 0 ;i < numInput.length() - 1 ; i++ )
{
if(numInput.charAt(i) == numInput.charAt(i + 1))
{
mostInaRow++;
secondPlace++;
mostNum = numInput.charAt(i);
}
else
{
}
}
System.out.println(mostNum);
System.out.println(mostInaRow);
}
}
처럼 뭔가를 할 수 그것은 좋은 당신이 그것의 요령을 받고 기호,하지만 정확하게 당신이주는 입력에 무슨 일이 일어나고 있는지 종이에 적어 둡니다. 그렇게하면 코드가 수행하는 작업과 수행해야 할 작업을 이해할 수 있습니다. IF-ELSE 모듈을 다시 한 번 확인하십시오. – avrsanjay
마지막 결과 만 인쇄하고 숫자가 변경되면 아무 것도 다시 설정하지 않습니다. 디버거에있는 코드를 단계별로 실행하여 작업 내용을 더 잘 이해할 것을 제안합니다. –