Nicholas Zacarias:
Eu estou tentando vir acima com o seguinte resultado:
Row 1 Col A
Row 1 Col B
Row 2 Col A
Row 2 Col B
Estou tendo dificuldade para descobrir a lógica para concluir esta tarefa. Até agora eu vim com o código fornecido abaixo:
int iRowNum;
int iColLetter;
iRowNum = 1;
iColLetter = 65;
while (iColLetter < 67)
{
System.out.println("Row " + iRowNum + " Col " + (char)iColLetter);
iColLetter++;
while (iRowNum < 3)
{
iRowNum += 1;
}
}
Infelizmente, eu recebo a saída:
Row 1 Col A
Row 3 Col B
Que começam disse, eu tenho um sentimento que eu estou chegando perto de onde eu preciso ser, mas eu passei uma boa parte do tempo tentando descobrir a lógica por trás da minha saída desejada.
Pergunta final Como faço para exibir as linhas e colunas, como mostrado no primeiro bloco deste post?
Arvind Kumar Avinash:
Fazê-lo da seguinte forma:
public class Main {
public static void main(String[] args) {
int iRowNum = 1;
int iColLetter = 65;
while (iRowNum < 3) {
iColLetter = 65;
while (iColLetter < 67) {
System.out.println("Row " + iRowNum + " Col " + (char) iColLetter);
iColLetter++;
}
iRowNum += 1;
}
}
}
Resultado:
Row 1 Col A
Row 1 Col B
Row 2 Col A
Row 2 Col B
Explicação:
- Desde que você quer a
iRowNum
ir até2
, você começa comwhile (iRowNum < 3)
ouwhile (iRowNum <= 2)
. - Para cada valor de
iRowNum
, o loop interno tem a duração de dois tempos, começando com65
isto é que você precisa para reporiColLetter
a65
antes do início do loop interno.