Tabla de contenido
7-15 Contar caracteres numéricos y espacios
Titulo original:
Esta pregunta requiere escribir un programa para ingresar una línea de caracteres y contar la cantidad de caracteres numéricos, espacios y otros caracteres que contiene. Se recomienda utilizar declaraciones de cambio para escribir.
Formato de entrada:
La entrada proporciona una cantidad de caracteres en una línea. El último retorno de carro indica el final de la entrada y no se cuenta.
Formato de salida:
en una línea según
blank = 空格个数, digit = 数字字符个数, other = 其他字符个数
formato de salida. Tenga en cuenta que hay un espacio a la izquierda y a la derecha del signo igual y un espacio después de la coma.
.
Ideas para resolver problemas:
- Importe
readline
el módulo y cree un objeto de interfaz: primeroreadline
introduzca el módulo y usecreateInterface
métodos para crear un objeto de interfazrl
. Este objeto establece el flujo de entrada en entrada estándar. - Leer entrada y almacenar: al escuchar
'line'
eventos, la entrada se almacena en una matrizbuf
. - Cuente el número de espacios, números y otros caracteres: inicializar y
blank
las tres variables son 0 respectivamente. Utilice un bucle para recorrer cada carácter de la cadena. Para cada carácter, determine a qué categoría pertenece (espacio, número u otro carácter) y haga +1 en la variable correspondiente.digit
other
for
text
- Generar resultados estadísticos: use una cadena de plantilla para generar los resultados en el formato "en blanco = x, dígito = y, otro = z", donde x, y y z son los espacios en blanco, dígitos y otros caracteres contados en el paso 3. respectivamente cantidad
.
Código JavaScript (nodo):
const r = require("readline");
const rl = r.createInterface({
input: process.stdin
});
let buf = [];
rl.on('line', (input) => buf.push(input));
rl.on('close', () => {
const text = buf[0];
let blank = 0, digit = 0, other = 0;
for (let i = 0; i < text.length; i++) {
const char = text.charAt(i);
if (/[a-zA-z]/.test(char)) {
other++;
} else if (/[0-9]/.test(char)) {
digit++;
} else if (char === ' ') {
blank++;
} else {
other++;
}
}
console.log(`blank = ${
blank}, digit = ${
digit}, other = ${
other}`);
});
.