Aplicación de Java en ACM y asuntos que requieren atención

Aplicación de Java en ACM y asuntos que requieren atención

Enlace original: https://www.xuebuyuan.com/3257862.html

0, marco básico

import java.oi.*;

import java.util.* 

public class Main 

{
    
     

public static void main(String args[]) 

{
    
     

Scanner cin = new Scanner(System.in));

} 

} 

1. Leer datos hasta el final del archivo

while (in.hasNext()) {
    
    
	int n = in.nextInt();
	System.out.println(n);
}

2. Entrada de Java

Leer un entero: int n = cin.nextInt ();

Equivalente a scanf ("% d", & n); o cin >> n;

Leer una cadena: String s = cin.next ();

Equivalente a scanf ("% s", s); o cin >> s;

Leer un número de coma flotante: double t = cin.nextDouble ();

Equivalente a scanf ("% lf", & t); o cin >> t;

Leer una línea completa: String s = cin.nextLine ();

Equivalente a gets (s); o cin.getline (...);

Para determinar si existe la siguiente entrada, puede usar cin.hasNext () o cin.hasNextInt () o cin.hasNextDouble ()

3. Salida de Java

La salida generalmente se puede usar directamente System.out.print () y System.out.println (), la primera no genera una nueva línea y la última genera.

String name = s.nextLine();  
int age = s.nextInt();  
System.out.println("姓名:" + name + "  年龄:" + age );  
System.out.println();   //换行

4. Salida de punto flotante

import java.text.*; 

public class Main

{
    
    

public static void main(String[] args)

{
    
    

DecimalFormat g = new DecimalFormat("0.00"); 

double a = 123.45678;

System.out.println(g.format(a)); 

}

}

//输出为123.46

5. Alta precisión de Java

importar java.math. // 需要 引入 java.math 包
BigInteger a = BigInteger.valueOf (100);
BigInteger b = BigInteger.valueOf (50);
BigInteger c = a.add (b) // c = a + b;
// 主要 有 以下 方法 可以 使用 :
BigInteger add (BigInteger otro)
BigInteger restar (BigInteger otro)
BigInteger multiplicar (BigInteger otro)
BigInteger dividir (BigInteger otro)
BigInteger mod (BigInteger otro)
int compareTo (BigInteger otro)
static BigInteger valueOf ( BigInteger otro) x)
*

Recuerda:

La clase BigInteger no puede realizar operaciones como ± y debe llamar a sus funciones miembro para realizar operaciones.

Además, la clase BigInteger no es un tipo extendido de int, por lo que el valor del tipo int no se puede asignar directamente a BigInteger.

El tipo BigInteger tiene sus propias constantes:

BigInteger.zero

BigInteger.one

6, cadena de Java

La clase String se usa para almacenar cadenas. Puede usar el método charAt para sacar un byte, y el recuento comienza desde 0:

String a = "Hola"; // a.charAt (1) = 'e'

Utilice el método de subcadena para obtener la subcadena, como en el ejemplo anterior

System.out.println (a.substring (0, 4)) // salida "Hell"

Tenga en cuenta que el carácter en la posición del segundo parámetro no está incluido. Si lo hace, la subcadena (a, b) siempre tendrá caracteres ba.

La concatenación de cadenas puede usar directamente el signo +, como

String a = "Hola";
Cadena b = "mundo";
System.out.println (a + "," + b + “!”); // salida "¡Hola, mundo!"

No es posible cambiar un solo carácter a través del método charAt

7, matriz de Java

La definición de la matriz:

int[] a = new int[100];

Inicialización de la matriz

Arrays.fill(a,0);

Es equivalente a memset (a, 0, sizeof (a)) en lenguaje C;

8. Algunas notas

Cuando utilice Netbeans para escribir programas Java, agregue automáticamente el paquete main; esta oración debe eliminarse al enviar preguntas.

La clase principal debe llamarse Main

Aunque Java es muy poderoso, no se puede confiar completamente en él, después de todo, C / C ++ sigue siendo el lenguaje principal de ACM / ICPC. Algunas preguntas se agotarán sin importar cómo las escriba en Java, puede usar Java para calcular los resultados y enviarlos en C / C ++.

Al enviar preguntas, su código debe ser el siguiente marco

import ………//相当于c++的include

public class Main {
    
    

    public static…….//一些自己定义的函数

    public static void main(String[] args) {
    
    

        Scanner cin = new Scanner(System.in);

    }

}

La sintaxis de Java sigue siendo muy similar a c / c ++, entonces. . Siéntete libre de escribir. .

/ *

Aceleración de entrada de Java

用BufferedReader和StringTokenizer代替Scanner
   */
    
    import java.io.*;
    
    import java.util.*;
    
    public class Main {
    
    
    
        public static void main(String[] args) throws IOException {
    
    
    
         Reader Reader =new Reader(System.in);
    
         double x = Reader.nextDouble();
    
         int n = Reader.nextInt();
    
         String str = Reader.next();
    
        }
    
    }
    
    class Reader {
    
    
    
        final BufferedReader reader;
    
        StringTokenizer tokenizer;
    
        public Reader(InputStream input) {
    
    
    
            reader = new BufferedReader(new InputStreamReader(input));
    
            tokenizer = new StringTokenizer("");
    
        }
    
        public String next() throws IOException {
    
    
    
            while (!tokenizer.hasMoreTokens())
    
                tokenizer = new StringTokenizer(reader.readLine());
    
            return tokenizer.nextToken();
    
        }
    
        public int nextInt() throws IOException {
    
    
    
            return Integer.parseInt(next());
    
        }
    
        public double nextDouble() throws IOException {
    
    
    
            return Double.parseDouble(next());
    
        }
    
    }

Supongo que te gusta

Origin blog.csdn.net/qq_40534166/article/details/99346591
Recomendado
Clasificación