Tem q ser em Phyton
O while
deveria vir dentro do try
e não o contrário. Olha como eu fiz:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Program {
public static void main(String... args) {
try {
int i = 0;
FileWriter myWriter = new FileWriter(new File("A.txt"));
while (i < 100) {
i = i + 1;
System.out.println(i);
myWriter.write(String.valueOf(i) + '\n');
}
myWriter.close();
} catch (IOException e) {
System.out.println("Erro");
e.printStackTrace();
}
}
}
Eu usei o método String.valueOf()
porque se não transformar o número em String
, vc vai ver um monte de caracteres estranhos quando abrir o arquivo num editor.
Aproveitando: Desde o Java 7 que a gente não precisa mais chamar o método close()
em várias situações como a que vc fez. Podemos usar o recurso chamado try-with-resources, ficaria assim:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Program {
public static void main(String... args) {
try (FileWriter myWriter = new FileWriter(new File("A.txt"))) {
for (int i = 1; i <= 100; i++) {
System.out.println(i);
myWriter.write(String.valueOf(i) + '\n');
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
No seu tópico inicial, você escreveu “EM JAVA” no título e na categoria escolheu Java.
Inclusive o trecho de código que você postou, que o @wldomiciano aperfeiçoou, era em Java.
Vc usa a função open()
e write()
para escrever. Aqui está um exemplo bem simples:
myfile = open('text.txt', 'w')
for i in range(1, 101):
myfile.write("%s\n" % i)
myfile.close()
Você pode usar with
, que garante que o arquivo é fechado ao final - seria equivalente ao try-with-resources do Java:
with open('arquivo.txt', 'w') as arq:
for i in range(1, 101):
arq.write(f'{i}\n')
E para escrever os números usei f-string, disponível desde o Python 3.6 - o operador %
ainda funciona mas a própria documentação desencoraja o uso:
The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer formatted string literals, the str.format() interface, or template strings may help avoid these errors.
Desculpem pelo embaraço, e obrigado pela ajuda consegui entender aonde eu estava errando