Escriba un programa para ingresar un número de tres dígitos desde el teclado, encontrar su número inverso y generarlo, por ejemplo, ingrese 123 y emita 321.
paquete com.yuxin.learn;
clase pública Main{
//Después de ingresar el número entero, el orden inverso se genera como una cadena, implementada mediante recursividad
cadena estática pública inversa(int a){
if(a<0)return"";
if(a<10)return Entero. toString(a) ;
int last=a-(a/10)*10;//Obtener el último dígito de este entero
return Integer.toString(last)+reverse (a/10 );// Genera recursivamente el último dígito y el dígito inverso anterior
}
public static void main(String[]args){
int x= 123023040;
Cadena rev=reverse(x);
System.out.println(rev);
System.out.println( inversa(123) );
}
}
Resultados de salida:
1, 040320321
2 , 321
p>Información ampliada:
Hay dos usos de estático en C++ y C#: estático en programación orientada a procesos y estático en programación orientada a objetos. El primero se aplica a variables y funciones ordinarias y no involucra clases; el segundo explica principalmente el papel de la estática en las clases.
Orientado a procesos
Variables globales estáticas
Agregue la palabra clave estática antes de la variable global y la variable se define como una variable global estática. Primero demos un ejemplo de una variable global estática, de la siguiente manera:
//Ejemplo1
#include<iostream>
usando el espacio de nombres std;
void fn();//Función de declaración
static int n;//Declaración de variables globales estáticas
int main()
{
n=20;//Asignar un valor inicial a n
printf("%d",n);//Emitir el valor de n
fn();/ /Llamar a la función fn
}
void fn()
{
n++;//El valor de n aumenta en uno (n =n+1)
printf("%d",n);//Emite el valor de n
}
Las variables globales estáticas tienen las siguientes características:
Esta variable asigna memoria en el área de datos globales;
Las variables globales estáticas no inicializadas serán inicializadas automáticamente a 0 por el programa (el valor del la variable automática declarada en el cuerpo de la función es aleatoria, a menos que se inicialice explícitamente, las variables automáticas declaradas fuera de la función también se inicializarán a 0);
Las variables globales estáticas son visibles en todo el archivo en el que están declarado, y dentro del archivo Invisible afuera;
Las variables estáticas asignan memoria en el área de datos globales, incluidas las variables locales estáticas que se mencionarán más adelante. Para un programa completo, la distribución en la memoria es la siguiente:
Área de código //área de pila de datos globales de dirección baja//dirección alta
Los programas generales ponen nuevos Los datos dinámicos generados se almacena en el área del montón y las variables automáticas dentro de la función se almacenan en el área de la pila. Las variables automáticas generalmente liberan espacio cuando la función sale, y los datos estáticos (incluso las variables locales estáticas dentro de la función) se almacenan en el área de datos globales.
Los datos en el área de datos globales no liberarán espacio cuando la función salga. Los lectores atentos pueden encontrar que en el código del Ejemplo 1,
static int n;//define static global variables
se cambia a
int n; /Definir variables globales
El programa aún se ejecuta normalmente.
De hecho, definir variables globales puede permitir compartir variables en archivos, pero definir variables globales estáticas también tiene los siguientes beneficios:
Las variables globales estáticas no pueden ser utilizadas por otros archivos;
Las variables con el mismo nombre se pueden definir en otros archivos sin conflicto;
Materiales de referencia:
Enciclopedia Baidu - estática (lenguaje informático de alto nivel)