[Procedimento 1] Título: Problema clássico: Há um par de coelhos. Eles dão à luz um par de coelhos todos os meses, a partir do terceiro mês após o nascimento. todos os meses. Se os coelhos Mesmo que não morram, qual é o número total de coelhos por mês?
1. Análise do programa: O padrão dos coelhos é a sequência 1,1,2,3,5,8,13,21....
classe pública exp2{ public static void main(String args[]){ int i=0 for(i=1;i<=20;i++)
System.out.println(f(i));
}public static int f(int x)
{ if(x==1 || x==2) retornar 1;
retornar f(x-1)+f(x-2);
}
}
ou
classe pública exp2{ public static void main(String args[]){ int i=0;
matemática minha matemática = new matemática();
System.out.println(mymath.f(i));
}
} aula de matemática
{ público intf(int x)
{ if(x==1 || x==2) retornar 1;
retornar f(x-1)+f(x-2);
}
}
[Programa 2] Pergunta: Determine quantos números primos existem entre 101-200 e produza todos os números primos.
1. Análise do programa: Como determinar números primos: Use um número para dividir 2 por sqrt (este número), respectivamente.
Isso significa que este número não é um número primo, caso contrário, é um número primo.
classe pública exp2{ public static void main(String args[]){ int i=0;
matemática minha matemática = new matemática(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true)
System.out.println(i);
}
} aula de matemática
{ público intf(int x)
{ if(x==1 || x==2) retornar 1;
retornar f(x-1)+f(x-2);
}público booleano iszhishu(int x)
{ for(int i=2;i<=x/2;i++) if (x % 2==0 ) retornar falso;
}
}
[Procedimento 3] Título: Imprima todos os "números de narciso". O chamado "número de narciso" refere-se a um número de três dígitos cuja soma do cubo é igual ao próprio número. Por exemplo: 153 é um “número de narciso” porque 153 = 1 ao cubo + 5 ao cubo + 3 ao cubo.
1. Análise do programa: Use um loop for para controlar números de 100 a 999 e decomponha cada número em unidades, dezenas e centenas.
classe pública exp2{
public static void main(String args[]){ int i=0;
matemática minha matemática = nova matemática(); for(i=100;i<=999;i++) if(mymath.shuixianhua(i)==true)
System.out.println(i);
}
} aula de matemática
{ público intf(int x)
{ if(x==1 || x==2) retornar 1;
retornar f(x-1)+f(x-2);
}público booleano iszhishu(int x)
{ for(int i=2;i<=x/2;i++) if (x % 2==0 ) retornar falso;
}público booleano shuixianhua(int x)
{ int i=0,j=0,k=0;
eu=x/100;
j=(x % 100)/10;
ik=fx % 10; (x==i*i*i+j*j*j+k*k*k) retorna verdadeiro;
retornar falso;
}
}
【Procedimento 4】Título: Decomponha um número inteiro positivo em fatores primos. Por exemplo: insira 90, imprima 90=2*3*3*5.
Análise do programa: Para decompor n em fatores primos, você deve primeiro encontrar um número primo mínimo k e, em seguida, completá-lo de acordo com as seguintes etapas:
(1) Se este número primo for exatamente igual a n, significa que o processo de decomposição dos fatores primos terminou, basta imprimi-lo.
(2) Se n <> k, mas n for divisível por k, o valor de k deve ser impresso, e o quociente de n dividido por k deve ser usado como um novo número inteiro positivo, e o primeiro passo deve ser repetido.
(3) Se n não for divisível por k, use k+1 como o valor de k e repita o primeiro passo.
classe pública exp2{ pública exp2(){} public void fengjie(int n){ for(int i=2;i<=n/2;i++){ if(n%i==0){
System.out.print(i+"*");
fengjie(n/i);
}
}
Sistema.out.print(n);
System.exit(0);///Esta frase não pode ser omitida, caso contrário o resultado estará errado
}public static void main(String[] args){
Stringstr="";
exp2 c=nova exp2();
str=javax.swing.JOptionPane.showInputDialog("Por favor, insira o valor de N (digite exit para sair):");
interno N;
Nt=r0y;{
N=Integer.parseInt(str);
}catch(NumberFormatException e){
e.printStackTrace();
}
System.out.print(N+"Decomposição de fatores primos:"+N+"=");
c.fengjie(N);
}
}
[Programa 5] Pergunta: Use o aninhamento de operadores condicionais para responder a esta questão: alunos com pontuações acadêmicas> = 90 pontos são representados por A, alunos com pontuações entre 60-89 são representados por B e alunos com pontuações abaixo de 60 são representados por C.
1. Análise de programa: (a> b)?a:b Este é um exemplo básico de operador condicional.
importar javax.swing.*; classe pública ex5 { public static void main(String[] args){
Stringstr="";
str=JOptionPane.showInputDialog("Por favor, insira o valor de N (digite exit para sair):");
internoN;
Nt=r0y;{
N=Integer.parseInt(str);
ca}tch(NumberFormatException e){
e.printStackTrace();
}
str=(N>90?"A":(N>60?"B":"C"));
System.out.println(str);
}
}
[Programa 6] Pergunta: Insira dois inteiros positivos m e n e encontre seu máximo divisor comum e mínimo múltiplo comum.
1. Análise do programa: Use o método de evaporação.
Maior divisor comum:
classe pública CommonDivisor{ public static void main(String args[])
{comumDivisor(24,32);
}static int commonDivisor(int M, int N)
{ se(N<0||M<0)
{
Sryesttuermn.out.println("ERRO!");
}se(N==0)
{
rSeytsutrenm.out.println("o maior divisor comum é:"+M);
}retornar commonDivisor(N,M%N);
}
}
Mínimo múltiplo comum e máximo divisor comum:
importar java.util.Scanner classe pública CandC;
{
//O método a seguir é encontrar o máximo divisor comum
público estático int gcd(int m, int n)
{enquanto (verdadeiro)
{se ((m = m % n) == 0) retornar n se ((n = n % m) == 0) retornar m;
}}
public static void main(String args[]) lança exceção
{
//Obtém o valor de entrada
//Scanner queixo = new Scanner(System.in);
/i/ntint a = queixo.nextInt(), b = queixo.nextInt();
System.out.println("Mínimo múltiplo comum: " + a * b / c + "/n Maior divisor comum: " + c);
}}
[Programa 7] Pergunta: Insira uma linha de caracteres e conte o número de letras, espaços, números e outros caracteres ingleses nela.
1. Análise do programa: Usando a instrução while, a condição é que o caractere de entrada não seja '/n'.
importar java.util.Scanner; classe pública ex7 { public static void main(String args[])
{
System.out.println("Por favor insira uma string:");
Varredura do scanner = novo Scanner (System.in);
String str=scan.next();
String E1="[/u4e00-/u9fa5]";
Sintrting E2="[a-zA-Z]";
String[] arrStr=new String[arrChar.length]; for (int i=0;i<arrChar.length;i++)
{
arrStr[i]=String.valueOf(arrChar[i]);
}for (String i: arrStr )
{se (i.correspondências(E1))
{
contagemH++;
}se (i.matches(E2))
{
contagemE++;
}
}
System.out.println("Número de caracteres chineses"+countH);
System.out.println("Número de letras"+contarE);
}
}
[Procedimento 8] Pergunta: Encontre o valor de s=a+aa+aaa+aaaa+aa...a, onde a é um número. Por exemplo, 2+22+222+2222+22222 (um total de 5 números são adicionados neste momento. A adição de vários números é controlada pelo teclado).
1. Análise do programa: O segredo é calcular o valor de cada item.
importar java.io.*; public class Sumloop { public static void main(String[] args) lança IOException
{int s=0;
String saída="";
BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Por favor insira o valor de a");
Entrada de entrada =stadin.readLine(); (int i =1;i<=Integer.parseInt(input);i++)
{
ionuttput+=entrada; a=Integer.parseInt(saída);
s+=uma;
}
System.out.println(s);
}
}
Outra explicação:
importar java.io.*; public class Sumloop { public static void main(String[] args) lança IOException
{ int s=0;
BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));
String input = stadin.readLine();
fno=rInteger.parseInt(entrada); (int i=1;i<=n;i++){
t=t*10+n;
s=s+t;
System.out.println(t);
}
System.out.println(s);
}
}
[Programa 9] Pergunta: Se um número for exatamente igual à soma dos seus fatores, o número é chamado de "número perfeito". Por exemplo, 6=1+2+3 Programe para encontrar todos os números perfeitos dentro de 1000.
classe pública Wanshu { public static void main(String[] args)
{ ints; para(int i=1;i<=1000;i++)
{
fs=o0r;(int j=1;j<i;j++) if(i % j==0)
se s=s+j;
System.out.print(i+" ");
}
System.out.println();
}
}
[Procedimento 10] Pergunta: Uma bola cai livremente de uma altura de 100 metros. Cada vez que atinge o solo, ela retorna à metade de sua altura original. Quando cai novamente, quantos metros ela percorre no total quando atinge. o chão pela décima vez? Qual é a altura do 10º rali?
classe pública Ex10 { public static void main(String[] args)
{ duplo s=0; duplo t=100; for(int i=1;i<=10;i++)
{
s+=t;
t=t/2;
}
System.out.println(s);
System.out.println(t);
}
}
[Procedimento 11] Pergunta: Existem números 1, 2, 3 e 4. Quantos números diferentes de três dígitos podem ser formados sem números repetidos? Quantos são?
1. Análise do programa: Os números que podem ser preenchidos nas casas das centenas, dezenas e unidades são todos 1, 2, 3 e 4. Após compor todas as permutações, remova as permutações que não atendem às condições.
classe pública Wanshu { public static void main(String[] args)
{ int i=0; int j=0; int k=0; int t=0; =1;k<=4;k++) se(i!=j && j!=k && i!=k)
{t+=1;
System.out.println(i*100+j*10+k);
}
System.out.println(t);
}
}
[Procedimento 12] Questão: Os bônus emitidos pela empresa são baseados em comissões de lucros. Quando o lucro (I) for menor ou igual a 100.000 yuans, o bônus pode ser aumentado em 10%; quando o lucro for superior a 100.000 yuans e inferior a 200.000 yuans, a parcela inferior a 100.000 yuans está sujeita a 10%; comissão, e se o lucro for superior a 100.000 yuans, o bônus é de 10%. Para a parcela entre RMB 200.000 e RMB 400.000, a comissão é de 5% para a parcela acima de RMB 200.000, para a parcela entre RMB 400.000 e RMB 600.000, a comissão é de 3% para a parcela acima de 400.000 RMB; Quando estiver entre 600.000 e 1 milhão, a parcela acima de 600.000 yuans pode ser comissionada a 1,5%. % de comissão. Insira o lucro I do mês atual no teclado. Por favor, responda.
1. Análise do programa: use o eixo numérico para dividir e localizar. Observe que o bônus precisa ser definido como um número inteiro durante a definição.
importar java .util.*; teste de classe pública { public static void main (String[]args){
double sum;//Declara o bônus a ser emitido na variável a ser armazenada
Entrada do scanner = novo scanner (System.in); //Importar scanner
System.out.print("Insira o lucro do mês atual");
double lirun=input .nextDouble();//Insira o lucro do console
if(lirun<=100000){
soma=lirun*0,1;
}else if (lirun<=200000){
soma=10000+lirun*0,075;
}else if (lirun<=400000){
soma=17500+lirun*0,05;
}else if (lirun<=600000){
soma=lirun*0,03;
}else if (lirun<=1000000){
soma=lirun*0,015;
} outro{
soma=lirun*0,01;
}
System.out.println("O bônus que deve ser pago é "+sum);
}
}
O código para outras situações abaixo pode ser melhorado pelo leitor.
【Procedimento 13】
Pergunta: Um número inteiro, após somar 100, torna-se um número quadrado perfeito, e ao somar 168, torna-se um número quadrado perfeito.
1. Análise do programa: Para julgar dentro de 100.000, primeiro adicione 100 ao número antes de prescrever, depois adicione 268 ao número e então prescreva. Se o resultado após a prescrição atender às seguintes condições, é o resultado. Veja a análise específica:
teste de classe pública { public static void main (String[]args){
longo k=0; for(k=1;k<=100000l;k++) if(Math.floor(Math.sqrt(k+100))==Math.sqrt(k+100) &&
Math.floor(Math.sqrt(k+168))==Math.sqrt(k+168))
System.out.println(k);
}
}
[Programa 14] Pergunta: Insira um determinado ano, um determinado mês e um determinado dia e determine que dia do ano é esse dia?
1. Análise do programa: Tomando como exemplo 5 de março, você deve primeiro somar os dois meses anteriores e depois adicionar 5 dias, que é o dia do ano Circunstâncias especiais, como anos bissextos e meses de entrada maiores que 3,. precisa ser considerado.
importar java.util.*; teste de classe pública { public static void main (String[]args){ int mês=0;
System.out.print("Digite ano, mês, dia/n");
Entrada do scanner = novo Scanner(System.in);
ano=input.nextInt();
mês=input.nextInt();
dia=input.nextInt();
switch(mês) /*Primeiro calcule o número total de dias do mês anterior*/
{caso 1:
soma = 0; quebra caso 2:
soma=31;quebra caso 3:
soma=59;quebra caso 4:
soma=90;quebra caso 5:
soma=120;quebra caso 6:
soma=151;quebra caso 7:
soma=181;quebra caso 8:
soma=212;quebra caso 9:
soma=243;quebra caso 10:
soma=273;quebra caso 11:
soma=304;quebra caso 12:
soma=334;quebra padrão:
System.out.println("erro de dados");break;
}
soma=soma+dia; /*Adiciona o número de dias em um determinado dia*/
if(year%400==0||(year%4==0&&year%100!=0))/*Avaliar se é um ano bissexto*/
elseleap=1;
salto=0;
if(leap==1 && mês>2)/*Se for um ano bissexto e o mês for maior que 2, um dia deve ser adicionado ao número total de dias*/
soma++;
System.out.println("É o dia:"+soma);
}
}
[Programa 15] Pergunta: Insira três números inteiros x, y, z. Imprima esses três números de pequeno a grande.
1. Análise do programa: Encontramos uma maneira de colocar o menor número em x, primeiro comparamos x com y, se x > y então trocamos os valores de x e y, e então comparamos x com z, se x > z troca os valores de x e z, para que x possa ser minimizado.
importar java.util.*; teste de classe pública { public static void main (String[]args){ int j=0;
System.out.print("Por favor insira três números/n");
Entrada do scanner = novo Scanner(System.in);
i=input.nextInt();
j=input.nextInt();
k=iifnput.nextInt();
{
x=eu;
eu=j;
j=x;
}se(i>k)
{
x=eu;
eu=k;
k=x;
}se(j>k)
{
x=j;
j=k;
k=x;
}
System.out.println(i+", "+j+", "+k);
}
}
[Programa 16] Pergunta: Fórmula de saída 9*9.
1. Análise do programa: considere linhas e colunas, há 9 linhas e 9 colunas no total, i controla as linhas e j controla as colunas.
classe pública jiujiu { public static void main(String[] args)
{ int i=0; int j=0; para(i=1;i<=9;i++)
{ para(j=1;j<=9;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
System.out.println();
}
}}
Sem produtos repetidos (triângulo inferior)
classe pública jiujiu { public static void main(String[] args)
{ int i=0; int j=0; para(i=1;i<=9;i++)
{ para(j=1;j<=i;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
System.out.println();
}
}}
triângulo superior
classe pública jiujiu { public static void main(String[] args)
{ int i=0; int j=0; para(i=1;i<=9;i++)
{ para(j=i;j<=9;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
System.out.println();
}
}}
[Procedimento 17] Título: Macaco comendo pêssegos Problema: O macaco colheu alguns pêssegos no primeiro dia, comeu metade deles imediatamente e ainda não ficou satisfeito. Ele comeu mais um e comeu metade dos pêssegos restantes na manhã seguinte.
Comi mais um. A partir daí, todas as manhãs comi metade e uma das sobras do dia anterior. Quando quis comer mais na manhã do 10º dia, vi que só sobrou um pêssego. Descubra quantos foram escolhidos no primeiro dia.
1. Análise do programa: adote o método de pensamento reverso e infira de trás para frente.
macaco de classe pública come pêssego{
static int total(int dia){ if(dia == 10){ return 1;
}else{ return (total(dia+1)+1)*2;
}
public s}static void main(String[] args)
{
System.out.println(total(1));
}}
[Procedimento 18] Tópico: Duas equipes de tênis de mesa competem, cada uma com três jogadores. A equipe A consiste em três pessoas a, b e c, e a equipe B consiste em três pessoas x, y e z. Foram sorteados lotes para determinar a lista de jogos. Alguém perguntou aos jogadores sobre a escalação do jogo. a disse que não compete com x e c disse que não compete com x e z. Por favor, programe um programa para encontrar a lista de jogadores das três equipes.
1. Análise do programa: Como julgar números primos: Use um número para dividir 2 por sqrt (este número), respectivamente. Se puder ser dividido, significa que o número não é um número primo, caso contrário, é um número primo.
importar java.util.ArrayList; classe pública pingpang {
pSutbrliincg sat,abt,icc; void main(String[] args) {
String[] operação = { "x", "y", "z" };
ArrayList<pingpang> arrayList=new ArrayList<pingpang>(); for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) for (int k = 0; k < 3 ;k++) {
pingpang a=new pingpang(op[i],op[j],op[k]); if(!aaequals(ab)&&!abequals(ac)&&!aaequals("x")
&&!acequals("x")&&!acequals("z")){
arrayList.add(a);
}
for}(Objeto a:arrayList){
System.out.println(a);
}
}public pingpang(String a, String b, String c) { super();
}
@pOubvelircride String toString() {
// TODO stub de método gerado automaticamente
return "o oponente de a é "+a+", "+"o oponente de b é "+b+", "+"o oponente de c é "+c+"/n";
}
}
【Programa 19】Título: Imprima o seguinte padrão (diamante)
*
***
****
**********
****
***
*
1. Análise do programa: primeiro, divida o gráfico em duas partes. As primeiras quatro linhas têm uma regra e as três últimas linhas têm uma regra. Use loops for duplos, a primeira camada controla as linhas e a segunda camada controla as colunas. .
triângulo:
classe pública StartG { public static void main(String [] args)
{ int i=0; int j=0; para(i=1;i<=4;i++)
{ para(j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.println("");
}for(i=4;i>=1;i--)
{ para(j=1;j<=2*i-3;j++)
System.out.print("*");
System.out.println("");
}
}
}
diamante:
classe pública StartG { public static void main(String [] args)
{ int i=0; int j=0;
para(i=1;i<=4;i++)
{ para(int k=1; k<=4-i;k++)
System.out para .print(" "); (j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.println("");
}for(i=4;i>=1;i--)
{ para(int k=1; k<=5-i;k++)
para System.out.print(" ");
System.out.print("*");
System.out.println("");
}
}
}
[Procedimento 20] Pergunta: Existe uma sequência de frações: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13... Encontre a soma dos primeiros 20 itens desta sequência .
1. Análise do programa: Por favor, compreenda as regras variáveis do numerador e do denominador.
public class test20 { public static void main(String[] args) { float fm = 1f;
temperatura = fm;
fm = fz;
fz = fz + temp;
soma += fz/fm;
//System.out.println(soma);
}
System.out.println(soma);
}
}
[Programa 21] Pergunta: Encontre a soma de 1+2!+3!+...+20!
1. Análise do programa: Este programa apenas transforma a acumulação em multiplicação cumulativa.
classe pública Ex21 { static long sum = 0; public static void main(String[] args) { long sum = 0; ) {
fac = fac * i;
soma += fato;
}
System.out.println(soma);
}}
[Programa 22] Título: Use método recursivo para encontrar 5!.
1. Análise do programa: Fórmula recursiva: fn=fn_1*4!
importar java.util.Scanner; classe pública Ex22 { public static void main(String[] args) {
Scanner s = new Scanner(System.in);
Ex22 tfr = new Ex22();
System.out.println(tfr.recursion(n));
}
recursão longa pública (int n) { valor longo = 0;
valor = 1;
} senão se(n > 1) {
valor = n * recursão(n-1);
}valor de retorno;
}}
[Procedimento 23] Pergunta: Há 5 pessoas sentadas juntas. Quantos anos tem a quinta pessoa? Ele disse que era 2 anos mais velho que a 4ª pessoa. Quando perguntei à 4ª pessoa quantos anos ele tinha, ela disse que era 2 anos mais velha que a 3ª pessoa. Perguntei à terceira pessoa e ela disse que era dois anos mais velha que a segunda pessoa. Perguntou à segunda pessoa e disse que era dois anos mais velho que a primeira pessoa. Finalmente perguntei à primeira pessoa e ela disse que tinha 10 anos. Quantos anos tem a quinta pessoa?
1. Análise do programa: Usando o método recursivo, a recursão é dividida em duas etapas: retrocesso e recursão. Se quiser saber a idade da quinta pessoa, você precisa saber a idade da quarta pessoa, e assim sucessivamente, até a primeira pessoa (10 anos).
Empurre de volta novamente.
classe pública Ex23 { static int getAge(int n){ if (n==1){ return 10;
}return 2 + getAge(n-1);
}public static void main(String[] args) {
System.out.println("A quinta era é:"+getAge(5));
}
}
[Programa 24] Pergunta: Dado um número inteiro positivo com no máximo 5 dígitos, os requisitos são: 1. Descubra quantos dígitos ele possui e 2. Imprima os dígitos na ordem inversa.
importar java.util.Scanner; classe pública Ex24 { public static void main(String[] args) {
Ex24 tn = new Ex24();
Scanner s = new Scanner(System.in); longo a = s.nextLong();
System.out.println("Erro de entrada, execute este programa novamente");
Sistema.exit(0);
}se(a >=0 && a <=9) {
System.out.println(a + "é um único dígito");
System.out.println("A saída na ordem inversa é " + '/n' + a);
} senão if(a >= 10 && a <= 99) {
System.out.println(a + "é um número de dois dígitos");
System.out.println("A saída na ordem inversa é");
tn.converse(a);
} senão if(a >= 100 && a <= 999) {
System.out.println(a + "é um número de três dígitos");
System.out.println("A saída na ordem inversa é");
tn.converse(a);
} else if(a >= 1000 && a <= 9999) {
System.out.println(a + "é um número de quatro dígitos");
System.out.println("A saída na ordem inversa é");
tn.converse(a);
} else if(a >= 10000 && a <= 99999) {
System.out.println(a + "é um número de cinco dígitos");
System.out.println("A saída na ordem inversa é");
tn.converse(a);
}
}public void converse(longo l) {
String s = Long.toString char (l);
System.out.print(ch[i]);
}
}}
[Programa 25] Pergunta: Um número de 5 dígitos, determine se é um número palíndromo. Ou seja, 12321 é um número palíndromo, o dígito das unidades é igual ao dígito dos milhares e o dígito das dezenas é igual ao dígito dos milhares.
importar java.util.Scanner; classe pública Ex25 { static int[] a = new int[5]; ;
Scanner s = new Scanner(System.in);
System.out.println("Erro de entrada, insira novamente!");
l = s.nextLong();
}for (int i = 4; i >= 0; i--) { a[i] = (int) (l / (long) Math.pow(10, i));
l =(l% (longo) Math.pow(10, i));
}
Sfyosrtem.out.println(); (int i=0,j=0; i<5; i++, j++) {
b[j] = uma[i];
}for(int i=0,j=4; i<5; i++, j--) { if(a[i] != b[j]) {
é = falso;
} outro {
é = verdadeiro;
}
}se(é == falso) {
System.out.println("não é um Palíndromo!");
} senão if(é == verdadeiro) {
System.out.println("é um Palíndromo!");
}
}}
[Programa 26] Pergunta: Insira a primeira letra do dia da semana para determinar o dia da semana. Se as primeiras letras forem iguais, continue a determinar a segunda letra.
1. Análise do programa: É melhor usar uma declaração de situação. Se as primeiras letras forem iguais, use uma declaração de situação ou uma declaração if para julgar a segunda letra.
importar java.util.Scanner; classe pública Ex26 { public static void main(String[] args){
//Salva a segunda letra digitada pelo usuário
char semanaSegundo;
//Instancia a classe Scanner como um objeto de entrada para receber entrada do usuário
Entrada do scanner = novo Scanner(System.in);
//Começa a solicitar e recebe entrada do console do usuário
System.out.print("Por favor, insira a primeira letra do valor da semana em inglês e eu o ajudarei a determinar o dia da semana:");
String letra = input.next();
//Determina se o comprimento da string de entrada do console do usuário é uma letra
if (letra.comprimento() == 1){
//Use o caractere que ocupa o primeiro bit de índice para permitir que o Scanner receba entrada do tipo char
char semanaPrimeira = carta.charAt(0); switch (semanaPrimeira){ case 'm':
//Quando letras minúsculas são inseridas, use o recurso de estrutura switch para executar a próxima ramificação case com uma instrução break para implementar a função de ignorar a diferenciação de maiúsculas e minúsculas da entrada do console do usuário
caso 'M':
System.out.println("Segunda-feira");
quebrar; caso 't':
//Quando letras minúsculas são inseridas, use o recurso de estrutura switch para executar a próxima ramificação case com uma instrução break para implementar a função de ignorar a diferenciação de maiúsculas e minúsculas da entrada do console do usuário
caso 'T':
System.out.print("Como terça (terça) e quinta (quinta) ambas começam com a letra T, é necessário inserir a segunda letra para julgar corretamente: ");
letra = input.next();
//Determina se o comprimento da string de entrada do console do usuário é uma letra
if (letra.comprimento() == 1){
//Use o caractere que ocupa o primeiro bit de índice para permitir que o Scanner receba entrada do tipo char
semanaSegundo = carta.charAt(0);
//Use o operador ou (||) para implementar a função de ignorar a distinção entre maiúsculas e minúsculas da entrada do console do usuário
if (semanaSegundo == 'U' || semanaSecond == 'u'){
System.out.println("Terça-feira");
quebrar;
//Use o operador ou (||) para implementar a função de ignorar a distinção entre maiúsculas e minúsculas da entrada do console do usuário
} else if (semanaSecond == 'H' || semanaSecond == 'h'){
System.out.println("Quinta-feira");
quebrar;
//Mensagem de erro do console
} outro{
System.out.println("Erro de entrada, a segunda letra do valor da semana não pode ser reconhecida, o programa termina!");
quebrar;
}
} outro {
//Mensagem de erro do console
System.out.println("Erro de entrada, apenas uma letra pode ser inserida, o programa termina!");
quebrar;
ca}se 'w':
//Quando letras minúsculas são inseridas, use o recurso de estrutura switch para executar a próxima ramificação case com uma instrução break para implementar a função de ignorar a diferenciação de maiúsculas e minúsculas da entrada do console do usuário
caso 'W':
System.out.println("Quarta-feira");
quebrar; caso 'f':
//Quando letras minúsculas são inseridas, use o recurso de estrutura switch para executar a próxima ramificação case com uma instrução break para implementar a função de ignorar a diferenciação de maiúsculas e minúsculas da entrada do console do usuário
caso 'F':
System.out.println("Sexta-feira");
quebrar; caso 's':
//Quando letras minúsculas são inseridas, use o recurso de estrutura switch para executar a próxima ramificação case com uma instrução break para implementar a função de ignorar a diferenciação de maiúsculas e minúsculas da entrada do console do usuário
caso 'S':
System.out.print("Como sábado (sábado) e domingo (domingo) ambos começam com a letra S, você precisa inserir a segunda letra para julgar corretamente: ");
letra = input.next();
//Determina se o comprimento da string de entrada do console do usuário é uma letra
if (letra.comprimento() == 1){
//Use o caractere que ocupa o primeiro bit de índice para permitir que o Scanner receba entrada do tipo char
semanaSegundo = carta.charAt(0);
//Use o operador ou (||) para implementar a função de ignorar a distinção entre maiúsculas e minúsculas da entrada do console do usuário
if (semanaSegundo == 'A' || semanaSecond == 'a'){
System.out.println("Sábado");
quebrar;
//Use o operador ou (||) para implementar a função de ignorar a distinção entre maiúsculas e minúsculas da entrada do console do usuário
} else if (semanaSegundo == 'U' || semanaSecond == 'u'){
System.out.println("Domingo");
quebrar;
//Mensagem de erro do console
} outro{
System.out.println("Erro de entrada, a segunda letra do valor da semana não pode ser reconhecida, o programa termina!");
quebrar;
}
} outro{
//Mensagem de erro do console
System.out.println("Erro de entrada, apenas uma letra pode ser inserida, o programa termina!");
quebrar;
padrão:
//Mensagem de erro do console
System.out.println("Erro de entrada, a primeira letra do valor da semana não pode ser reconhecida, o programa termina!");
quebrar;
}
} outro{
//Mensagem de erro do console
System.out.println("Erro de entrada, apenas uma letra pode ser inserida, o programa termina!");
}
}
}
[Programa 27] Título: Encontre números primos dentro de 100
classe pública Ex27 { public static void main(String args[])
{int soma,i; para(soma=2;soma<=100;soma++)
{for(i=2;i<=soma/2;i++)
{if(soma%i==0) quebra;
}se(i>soma/2)
System.out.println(sum+"é um número primo");
}
}
}
[Programa 28] Tópico: Classificar 10 números
1. Análise do programa: Você pode usar o método de seleção, ou seja, dos últimos 9 processos de comparação, selecione o menor para trocar com o primeiro elemento. Por analogia, na próxima vez, use o segundo elemento para comparar com os últimos 8 elementos e. troque-os.
importar java.util.Arrays; importar java.util.Random; importar java.util.Scanner;
Aleatório r=new Aleatório(); for(int i=0;i<10;i++){
arr[i]=r.nextInt(100)+1;//Obtém 10 inteiros dentro de 100
}
Arrays.sort for (arr); (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"/t");
}
System.out.print("/nPor favor, insira um número inteiro: ");
Scanner sc=novo Scanner(System.in);
arr[10]=sc.nextInt();//Insira um valor int
Aflorrays.sort(arr); (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"/t");
}
}
}
[Programa 29] Pergunta: Encontre a soma dos elementos diagonais de uma matriz 3*3
1. Análise do programa: use loops for duplos para controlar a entrada de uma matriz bidimensional e, em seguida, acumule a[i][i] e produza-o.
classe pública Ex29 { public static void main(String[] args){ double sum=0; }}; for(int i=0;i<3;i++) for(int j=0;j<3;j++){ if(i==j)
soma=soma + matriz[i][j];
}
System.out.println(soma);
}
}
[Programa 30] Pergunta: Existe um array que foi classificado. Agora insira um número e insira-o na matriz de acordo com as regras originais.
1. Análise do programa: primeiro determine se este número é maior que o último número e, em seguida, considere inserir o número do meio. Após a inserção, os números após este elemento serão movidos para trás uma posição por vez.
importar java.util.Random; classe pública ArraySort { public static void main(String[] args)
{ int temp=0; int myarr[] = new int[12];
Aleatório r=new Aleatório(); for(int i=1;i<=10;i++)
fomryarr[i]=r.nextInt(1000); (int k=1;k<=10;k++)
fSoyrstem.out.print(myarr[k]+","); (int i=1;i<=9;i++) for(int k=i+1;k<=10;k++) if(myarr[i+1;k<=10;k++) if(myarr[i+1;k<=10;k++) ]>meuarr[k])
{
temp=meuarr[i];
meuarr[i]=mearr[k];
meuarr[k]=temp;
}
fSoyrstem.out.println(""); (int k=1;k<=10;k++)
System.out.print(myarr[k]+",");
fmoyarrr[11]=r.nextInt(1000); (int k=1;k<=10;k++) if(meuarr[k]>meuarr[11])
{
fteomrp=meuarr[11]; (int j=11;j>=k+1;j--)
meuarr[j]=meuarr[j-1];
meuarr[k]=temp;
}
forSystem.out.println(""); (int k=1;k<=11;k++)
System.out.print(myarr[k]+",");
}
}
[Programa 31] Título: Produz um array na ordem inversa.
Análise do programa: Troque o primeiro e o último.
Na verdade, é mais simples controlar variáveis com um loop:
para(int k=11;k>=1;k--)
System.out.print(myarr[k]+",");
[Programa 32] Título: Pegue os 4 a 7 dígitos de um número inteiro a começando da extremidade direita.
Análise do programa: você pode pensar desta forma:
(1) Primeiro desloque a para a direita em 4 bits.
(2) Defina um número com os 4 bits inferiores sendo todos 1 e o restante sendo 0. Disponível~(~0 < <4)
(3) Execute e operação nos dois acima.
classe pública Ex32 { public static void main(String[] args)
{ int a=0; longo b=18745678;
a=(int) Math.floor(b % Math.pow(10,7)/Math.pow(10, 3));
System.out.println(a);
}}
【Programa 33】
Pergunta: Imprima o triângulo de Yang Hui (necessário para imprimir 10 linhas conforme mostrado abaixo)
1. Análise do programa:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
classe pública Ex33 { public static void main(String args[]){ int i,j;
a=new int[8][8]; for(i=0;i<8;i++){
uma[i][i]=1;
a[i][0]=1;
for}(i=2;i<8;i++){ for(j=1;j<=i-1;j++){
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}for(i=0;i<8;i++){ for(j=0;j<i;j++){
System.out.printf(" "+a[i][j]);
}
System.out.println();
}
}
}
[Programa 34] Pergunta: Insira 3 números a, b, c e produza-os em ordem de tamanho.
1. Análise de programas: utilizando métodos de ponteiro.
classe pública Ex34 { public static void main(String[] args)
{int []matrizes = {800,56,500}; for(int i=arrays.length;--i>=0;)
{para(int j=0;j<i;j++)
{se(matrizes[j]>matrizes[j+1])
{int temp=matrizes[j];
matrizes[j]=matrizes[j+1];
matrizes[j+1]=temp;
}}} for(int n=0;n<arrays.length;n++)
System.out.println(matrizes[n]);
}
}
[Programa 35] Título: Insira um array, troque o maior elemento pelo primeiro elemento, troque o menor elemento pelo último elemento e produza o array.
importar java.util.*; public class Ex35 { public static void main(String[] args) { int i, min, max, n, temp1, temp2;
System.out.println("Insira o comprimento do array:");
Teclado do scanner = novo Scanner(System.in);
n = teclado.nextInt();
a = novo int[n]; para (i = 0; i < n; i++) {
System.out.print("Digite o "th" + (i + 1) + "dados");
a[i] = teclado.nextInt();
}
//O acima é a entrada de todo o array
máximo = 0;
min = 0;
//Define duas flags, começando com ambas apontando para o primeiro número
for (i = 1; i < n; i++) { if (a[i] > a[max])
max = i; //Percorre o array, se for maior que a[max], atribui o subscrito do array a max
se (a[i] <a[min])
min = i; //O mesmo que acima, se for menor que a[min], atribua o subscrito do array a min
}
//O loop for acima encontra os valores máximo e mínimo, max é o subscrito do valor máximo, min é o subscrito do valor mínimo
temp1 = a[0];
temp2 = a[min]; //Essas duas temperaturas são apenas para uso em troca
uma[0] = uma[máx];
a[max] = temp1; //Primeiro troque a[0] e o valor máximo a[max]
if (min != 0) { //Se o valor mínimo não for a[0], execute o seguinte
uma[min] = uma[n - 1];
a[n - 1] = temp2; //Troca a[min] e a[n-1]
} else { //Se o valor mínimo for a[0], execute o seguinte
uma[máx.] = uma[n - 1];
uma[n - 1] = temp1;
}
for (i = 0; i < n; i++) { //Matriz de saída
System.out.print(a[i] + " ");
}}}
[Programa 36] Pergunta: Existem n inteiros, de modo que os números anteriores são movidos para trás m posições, e os últimos m números se tornam os primeiros m números [Programa 37]
Pergunta: Há n pessoas sentadas em círculo e numerando-as em ordem. Comece a contar da primeira pessoa (contando de 1 a 3).
importar java.util.scanner;
Scanner S = New Scanner (System.in);
arr [i] = true; // Quando o subscrito é verdadeiro, significa que ainda está no círculo
} int leftcount = n;
if (arr [index] == true) {// quando no círculo
countnum ++; // Conta o incremento
if (countnum == 3) {// ao relatar 3
countnum = 0; // Continue contando de zero
arr [index] = false; // essa pessoa sai do círculo
condição esquerda -; // O número restante de pessoas é reduzido por um
}
}
índice ++; // sempre que um número é relatado, o subscrito aumenta em um
if (index == n) {// é uma contagem circular.
índice = 0; // Defina o índice como zero e inicie novamente.
}
} para (int i = 0; i <n; i ++) {if (arr [i] == true) {
System.out.println(i);
}
}
}
}
【Programa 38】
Pergunta: Escreva uma função para encontrar o comprimento de uma string.
importar java.util.scanner;
{
Scanner s = novo scanner (System.in);
System.out.println("Por favor insira uma string");
String mys = s.Next ();
System.out.println (str_len (mys));
} public static int str_len (string x)
{return x.length ();
}
}
Pergunta: Escreva uma função. 1+1/3+..+1/n
【Programa 39】
Tópico: classificação de string.
importar java.util.*;
{
ArrayList <String> list = new ArrayList <String> ();
list.add ("010101");
list.add ("010003");
list.add ("010201");
Coleções.Sort para (Lista);
System.out.println (list.get (i));
}}}
【Programa 40】
Tópico: Há um monte de pêssegos na praia, e cinco macacos precisam dividi -los. O primeiro macaco dividiu a pilha de pêssegos em cinco partes. O segundo macaco dividiu o pêssego restante em cinco partes iguais, e havia mais um. lá na praia?
classe pública DG {
estático int ts = 0; // número total de pêssegos
int fs = 1; // registra o número de pontos
estático int hs = 5; // número de macacos ...
int tsScope = 5000;
public int ft (int t) {if (t == tsScope) {
// Cancele a recursão quando o número de pêssegos atingir a faixa de valor máximo
System.out.println ("end");
retornar 0;
} else {if ((t-1)%hs == 0 && fs <= hs) {if (fs == hs)
{
System.out.println ("A condição de divisão de pêssego é atendida quando o número de peaches =" +ts +"");
}
fs+= 1;
retornar ft ((t-1)/5*4); // retornar o valor total restante depois que o macaco leva uma peça
}outro
{
// As condições não são atendidas
fs = 1;
retornar ft (ts += 1); // Adicionar +1 ao número de pêssegos
}}}
public static void main (string [] args) {new DG (). ft (0);
}
}