[Процедура 1] Название: Классическая задача: Имеется пара кроликов. У них каждый месяц с третьего месяца после рождения рождается пара кроликов. каждый месяц Если кролики Даже если они не умирают, каково общее количество кроликов каждый месяц?
1. Анализ программы: Шаблон кроликов представляет собой последовательность 1,1,2,3,5,8,13,21....
общественный класс 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) возвращаем 1;
вернуть f(x-1)+f(x-2);
}
}
или
общественный класс exp2 {public static void main (String args []) {int i = 0;
математика mymath = новая математика(); for(i=1;i<=20;i++)
System.out.println(mymath.f(i));
}
}класс математики
{ public int f(int x)
{ if(x==1 || x==2) возвращаем 1;
вернуть f(x-1)+f(x-2);
}
}
[Программа 2] Вопрос: Определите, сколько простых чисел находится в диапазоне от 101 до 200, и выведите все простые числа.
1. Анализ программы: Как определить простые числа: Используйте число, чтобы разделить 2 на sqrt (это число) соответственно. Если его можно разделить,
Это означает, что это число не является простым числом, в противном случае оно является простым числом.
общественный класс exp2 {public static void main (String args []) {int i = 0;
math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true)
System.out.println(я);
}
}класс математики
{ public int f(int x)
{ if(x==1 || x==2) возвращаем 1;
вернуть f(x-1)+f(x-2);
}public boolean исжишу (int x)
{ for(int i=2;i<=x/2;i++) if (x % 2==0) return false; return true;
}
}
[Процедура 3] Название: Распечатайте все «числа нарцисса». Так называемое «число нарцисса» относится к трехзначному числу, сумма куба которого равна самому числу. Например: 153 — это «число Нарцисса», потому что 153 = 1 в кубе + 5 в кубе + 3 в кубе.
1. Анализ программы: используйте цикл for для управления 100–999 числами и разложите каждое число на единицы, десятки и сотни.
публичный класс exp2{
public static void main(String args[]){int i=0;
math mymath = new math(); for(i=100;i<=999;i++) if(mymath.shuixianhua(i)==true)
System.out.println(я);
}
}класс математики
{ public int f(int x)
{ if(x==1 || x==2) возвращаем 1;
вернуть f(x-1)+f(x-2);
} public boolean iszhishu(int x)
{ for(int i=2;i<=x/2;i++) if (x % 2==0) return false return true;
}public boolean shuixianhua(int x)
{ int я=0,j=0,k=0;
я = х/100;
j=(х % 100)/10;
ik=fx % 10; (x==i*i*i+j*j*j+k*k*k) вернуть true;
вернуть ложь;
}
}
【Процедура 4】Название: Разложение целого положительного числа на простые множители. Например: введите 90, распечатайте 90=2*3*3*5.
Анализ программы: чтобы разложить n на простые множители, сначала следует найти минимальное простое число k, а затем завершить его, выполнив следующие действия:
(1) Если это простое число в точности равно n, это означает, что процесс разложения простых множителей завершился, просто распечатайте его.
(2) Если n <> k, но n делится на k, значение k должно быть распечатано, а частное n, деленное на k, должно использоваться как новое положительное целое число, и первый шаг должен быть повторен.
(3) Если n не делится на k, используйте k+1 в качестве значения k и повторите первый шаг.
общественный класс exp2{ public exp2(){} public void fengjie(int n){ for(int i=2;i<=n/2;i++){ if(n%i==0){
System.out.print(i+"*");
фэнцзе (н/я);
}
}
System.out.print(n);
System.exit(0);///Это предложение нельзя опустить, иначе результат будет неверным
}public static void main(String[] args){
Строка ул="";
exp2 c=новый exp2();
str=javax.swing.JOptionPane.showInputDialog("Пожалуйста, введите значение N (введите выход, чтобы выйти):");
интервал Н;
Nt=r0y;{
N=Integer.parseInt(str);
}catch(NumberFormatException e){
е.printStackTrace();
}
System.out.print(N+"Разложение простых множителей:"+N+"=");
c.фэнцзе(N);
}
}
[Программа 5] Вопрос: Для ответа на этот вопрос используйте вложение условных операторов: учащиеся с академическими оценками >=90 баллов обозначаются буквой A, учащиеся с баллами от 60 до 89 обозначаются буквой B, а учащиеся с баллами ниже 60 обозначаются буквой B. по С.
1. Анализ программы: (a> b)?a:b Это базовый пример условного оператора.
import javax.swing.* public class ex5 { public static void main(String[] args){
Строка ул="";
str=JOptionPane.showInputDialog("Пожалуйста, введите значение N (введите выход для выхода):");
интервал Н;
Nt=r0y;{
N=Integer.parseInt(str);
ca}tch (NumberFormatException e) {
е.printStackTrace();
}
str=(N>90?"A":(N>60?"B":"C");
System.out.println(str);
}
}
[Программа 6] Вопрос: Введите два положительных целых числа m и n и найдите их наибольший общий делитель и наименьшее общее кратное.
1. Анализ программы: используйте метод испарения.
Наибольший общий делитель:
общественный класс CommonDivisor {public static void main (String args [])
{ commonDivisor(24,32);
}static int commonDivisor(int M, int N)
{ если(N<0||M<0)
{
Sryesttuermn.out.println("ОШИБКА!");
}если(N==0)
{
rSeytsutrenm.out.println("самый большой общий делитель:"+M);
} return commonDivisor(N,M%N);
}
}
Наименьшее общее кратное и наибольший общий делитель:
импортировать открытый класс CandC java.util.Scanner;
{
//Следующий метод – найти наибольший общий делитель
public static int gcd(int m, int n)
{пока (правда)
{if ((m = m % n) == 0) вернуть n if ((n = n % m) == 0) вернуть m;
}}
public static void main(String args[]) выдает исключение
{
//Получаем входное значение
//Сканер подбородок = новый сканер(System.in);
/i/ntint a = chin.nextInt(), b = chin.nextInt(); a=23; int b=32; int c = gcd(a, b);
System.out.println("Наименьшее общее кратное: " + a * b / c + "/n Наибольший общий делитель: " + c);
}}
[Программа 7] Вопрос: Введите строку символов и посчитайте количество в ней английских букв, пробелов, цифр и других символов.
1. Анализ программы. Используя оператор while, условием является то, что входной символ не равен '/n'.
import java.util.Scanner public class ex7 { public static void main(String args[])
{
System.out.println("Пожалуйста, введите строку:");
Сканер scan=новый сканер(System.in);
Строка str=scan.next();
Строка E1="[/u4e00-/u9fa5]";
Sintrting E2="[a-zA-Z]"; countH=0; int countE=0; arrChar=str.toCharArray();
String[] arrStr=new String[arrChar.length] for (int i=0;i<arrChar.length;i++)
{
arrStr[i]=String.valueOf(arrChar[i]);
}for (строка i: arrStr)
{если (i.matches(E1))
{
графH++;
}if (i.matches(E2))
{
счетчикE++;
}
}
System.out.println("Количество китайских иероглифов"+countH);
System.out.println("Количество букв"+countE);
}
}
[Процедура 8] Вопрос: Найдите значение s=a+aa+aaa+aaaa+aa...a, где a — число. Например, 2+22+222+2222+22222 (всего при этом добавляется 5 цифр. Сложение нескольких цифр контролируется с помощью клавиатуры).
1. Анализ программы. Ключевым моментом является расчет стоимости каждого элемента.
import java.io.*; public class Sumloop { public static void main(String[] args) выдает IOException
{интервал с = 0;
Строковый вывод="";
BufferedReader stadin = новый BufferedReader (новый InputStreamReader (System.in));
System.out.println("Пожалуйста, введите значение a");
Поиск ввода =stadin.readLine(); (int i =1;i<=Integer.parseInt(input);i++)
{
ionuttput+=вход; а=Integer.parseInt(выход);
с+=а;
}
System.out.println(s);
}
}
Другое объяснение:
import java.io.*; public class Sumloop { public static void main(String[] args) выдает IOException
{интервал с=0; интервал н; интервал т=0;
BufferedReader stadin = новый BufferedReader (новый InputStreamReader (System.in));
Строковый ввод = stadin.readLine();
fno=rInteger.parseInt(input); (int i=1;i<=n;i++){
т=т*10+n;
с=с+т;
System.out.println(т);
}
System.out.println(s);
}
}
[Программа 9] Вопрос: Если число в точности равно сумме своих делителей, то это число называется «совершенным числом». Например, 6=1+2+3. Программа найдёт все совершенные числа в пределах 1000.
общественный класс Wanshu { public static void main(String[] args)
{ int s; for(int i=1;i<=1000;i++)
{
fs=o0r;(int j=1;j<i;j++) if(i % j==0)
если s=s+j; (s==i)
System.out.print(i+" ");
}
Система.out.println();
}
}
[Процедура 10] Вопрос: Мяч свободно падает с высоты 100 метров. Каждый раз, когда он ударяется о землю, он отскакивает до половины своей первоначальной высоты. Когда он снова падает, сколько метров он пролетит при ударе. землю в 10-й раз? Какова высота 10-го ралли?
общественный класс Ex10 { public static void main(String[] args)
{ двойной s = 0; двойной т = 100; для (int я = 1; я <= 10; я ++)
{
с+=т;
т=т/2;
}
System.out.println(s);
System.out.println(т);
}
}
[Процедура 11] Вопрос: Существует 1, 2, 3 и 4 числа. Сколько различных трехзначных чисел можно составить без повторяющихся чисел? Сколько их?
1. Анализ программы. Числа, которые можно заполнить местами сотен, десятков и единиц, — это 1, 2, 3 и 4. После составления всех перестановок удалите перестановки, не соответствующие условиям.
общественный класс Wanshu { public static void main(String[] args)
{ int i=0; int j=0; int t=0; for(i=1;i<=4;i++) for(j=1;j<=4;j++) for(k =1;k<=4;k++) if(i!=j && j!=k && i!=k)
{т+=1;
System.out.println(i*100+j*10+k);
}
System.out.println(т);
}
}
[Процедура 12] Вопрос: Бонусы, выдаваемые компанией, основаны на комиссионных от прибыли. Когда прибыль (I) меньше или равна 100 000 юаней, бонус может быть увеличен на 10%; когда прибыль превышает 100 000 юаней и меньше 200 000 юаней, на долю менее 100 000 юаней облагается 10%. комиссия, а если прибыль превышает 100 000 юаней, бонус составляет 10%. Для части от 200 000 до 400 000 юаней комиссия составляет 5% для части выше 200 000 юаней; комиссия составляет 3% для части, превышающей 400 000 юаней, если сумма превышает 1 миллион юаней, то для части, превышающей 600 000 юаней, можно взимать комиссию в размере 1,5%. Если сумма превышает 1 миллион юаней, сумма, превышающая 1 миллион юаней, равна 1. % комиссии. Введите прибыль I за текущий месяц с клавиатуры. Ответьте, пожалуйста, общее количество распределенных бонусов?
1. Анализ программы: используйте числовую ось для разделения и определения местоположения. Обратите внимание, что при определении бонус должен быть определен как целое число.
импортировать java .util.* тест общественного класса {public static void main (String[]args){
двойная сумма;//Объявляем бонус, который будет выдан, в переменной, которую нужно сохранить
Ввод сканера = новый сканер (System.in);//Импортировать сканер
System.out.print ("Введите прибыль за текущий месяц");
double lirun=input .nextDouble();//Вводим прибыль из консоли
если(lirun<=100000){
сумма = лирун * 0,1;
}иначе если (lirun<=200000){
сумма=10000+лирун*0,075;
}иначе если (lirun<=400000){
сумма=17500+лирун*0,05;
}иначе если (lirun<=600000){
сумма = лирун * 0,03;
}иначе если (lirun<=1000000){
сумма=лирун*0,015;
} еще{
сумма = лирун * 0,01;
}
System.out.println("Бонус, который следует выплатить, равен "+sum);
}
}
Код для других ситуаций, приведенных ниже, может быть улучшен читателем.
【Процедура 13】
Вопрос: Целое число, после прибавления 100 становится идеальным квадратным числом, а при добавлении 168 становится идеальным квадратным числом.
1. Анализ программы: чтобы судить в пределах 100 000, сначала прибавьте 100 к числу перед назначением, затем прибавьте к числу 268 и затем пропишите. Если результат после назначения соответствует следующим условиям, это результат. Пожалуйста, ознакомьтесь с конкретным анализом:
тест публичного класса { public static void main (String[]args){
long 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(к);
}
}
[Программа 14] Вопрос: Введите определённый год, определённый месяц и определённый день и определите, какой день года это день?
1. Анализ программы: взяв в качестве примера 5 марта, вы должны сначала сложить предыдущие два месяца, а затем добавить 5 дней, которые являются днем года. Особые обстоятельства, такие как високосные годы и введенные месяцы больше 3, необходимо учитывать добавление дополнительного дня.
import java.util.*; тест общественного класса {public static void main (String[]args) { int day=0; intyear=0; int sum=0;
System.out.print("Пожалуйста, введите год, месяц, день/n");
Ввод сканера = новый сканер(System.in);
год = input.nextInt ();
месяц = input.nextInt ();
день = input.nextInt ();
switch(month) /*Сначала подсчитаем общее количество дней в предыдущем месяце*/
{случай 1:
сумма = 0; перерыв; случай 2:
сумма = 31; перерыв; случай 3:
сумма = 59; перерыв; случай 4:
сумма = 90; перерыв; случай 5:
сумма = 120; перерыв; случай 6:
сумма = 151; перерыв; случай 7:
сумма = 181; перерыв; случай 8:
сумма = 212; перерыв; случай 9:
сумма = 243; перерыв; случай 10:
сумма = 273; перерыв; случай 11:
сумма = 304; перерыв; случай 12:
сумма = 334; перерыв по умолчанию:
System.out.println("ошибка данных");break;
}
sum=sum+day; /*Добавить количество дней в определенный день*/
if(year%400==0||(year%4==0&&year%100!=0))/*Определите, високосный ли это год*/
ещепрыжок = 1;
прыжок=0;
if(leap==1 &&month>2)/*Если год високосный и месяц больше 2, к общему количеству дней следует добавить один день*/
сумма++;
System.out.println("Это день:"+sum);
}
}
[Программа 15] Вопрос: Введите три целых числа x, y, z. Выведите эти три числа от меньшего к большему.
1. Анализ программы: находим способ присвоить x наименьшее число, сначала сравниваем x с y, если x > y, затем меняем местами значения x и y, а затем сравниваем x с z, если x > y. z меняет местами значения x и z, так что x можно минимизировать.
импорт java.util.*; тест общественного класса {public static void main (String[]args) {int i=0; int j=0; int k=0;
System.out.print("Пожалуйста, введите три цифры/n");
Ввод сканера = новый сканер(System.in);
я = input.nextInt ();
j=input.nextInt();
k=iifnput.nextInt(); (я>j)
{
х=я;
я = j;
j=х;
}если(я>к)
{
х=я;
я = к;
к=х;
}если(j>k)
{
х=j;
j=к;
к=х;
}
System.out.println(i+", "+j+", "+k);
}
}
[Программа 16] Вопрос: Выведите формулу 9*9.
1. Анализ программы: рассмотрим строки и столбцы, всего 9 строк и 9 столбцов, я управляю строками, а j — столбцами.
публичный класс jiujiu { public static void main(String[] args)
{ интервал я = 0; интервал j = 0; для (я = 1; я <= 9; я ++)
{ for(j=1;j<=9;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
Система.out.println();
}
}}
Нет повторяющихся товаров (нижний треугольник)
публичный класс jiujiu { public static void main(String[] args)
{ интервал я = 0; интервал j = 0; для (я = 1; я <= 9; я ++)
{ for(j=1;j<=i;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
Система.out.println();
}
}}
верхний треугольник
публичный класс jiujiu { public static void main(String[] args)
{ интервал я = 0; интервал j = 0; для (я = 1; я <= 9; я ++)
{ for(j=i;j<=9;j++)
System.out.print(i+"*"+j+"="+i*j+"/t");
Система.out.println();
}
}}
[Процедура 17] Название: Обезьяна ест персики Задача: В первый день обезьяна собрала несколько персиков, сразу съела половину, но еще не насытилась. Она съела еще один, а на следующее утро съела половину оставшихся персиков.
Съел еще один. С тех пор каждое утро я съедал половину и один остаток предыдущего дня. Когда утром 10-го дня мне захотелось съесть еще, я увидела, что остался только один персик. Узнайте, сколько было выбрано в первый день.
1. Анализ программы: используйте метод обратного мышления и делайте выводы от начала до конца.
Обезьяна общественного класса ест персик{
static int total(int day){ if(day == 10){ return 1;
}else{ return (total(day+1)+1)*2;
}
public stic void main(String[] args)
{
System.out.println(всего(1));
}}
[Процедура 18] Тема: Соревнуются две команды по настольному теннису, в каждой по три игрока. Команда А состоит из трех человек a, b и c, а команда B состоит из трех человек x, y и z. Для определения списка матчей была проведена жеребьевка. Кто-то спросил игроков о составе на игру. a сказал, что он не соревнуется с x, а c сказал, что он не соревнуется с x и z. Пожалуйста, запрограммируйте программу, чтобы найти список игроков из трех команд.
1. Анализ программы: Как оценивать простые числа: используйте число, чтобы разделить 2 на sqrt (это число) соответственно. Если его можно разделить, это означает, что число не является простым числом, в противном случае это простое число.
импортировать java.util.ArrayList общественный класс pingpang {;
pSutbrliincg sat,abt,icc; void main(String[] args) {
String[] op = { "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) ; к++) {
pingpang a=new pingpang(op[i],op[j],op[k]); if(!aaequals(ab)&&!abequals(ac)&&!aaequals("x")
&&!acequals("x")&&!acequals("z")){
arrayList.add(а);
}
for}(Объект a:arrayList){
System.out.println(а);
}
} public pingpang (String a, String b, String c) { super(); this.b = b; this.c = c;
}
@pOubvelircride Строка toString() {
// TODO Автоматически сгенерированная заглушка метода
return "противник a — "+a+", "+"противник b — "+b+", оппонент "+"c — "+c+"/n";
}
}
【Программа 19】Название: Распечатайте следующий шаблон (ромб)
*
***
****
**********
****
***
*
1. Анализ программы: сначала разделите график на две части. Первые четыре строки имеют одно правило, а последние три строки имеют одно правило. Используйте циклы double for, первый уровень управляет строками, а второй слой — столбцами. .
треугольник:
общественный класс StartG { public static void main(String [] args)
{ интервал я = 0; интервал j = 0; для (я = 1; я <= 4; я ++)
{ for(j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.println("");
} for(i=4;i>=1;i--)
{ for(j=1;j<=2*i-3;j++)
System.out.print("*");
System.out.println("");
}
}
}
алмаз:
общественный класс StartG { public static void main(String [] args)
{интервал я=0; интервал j=0;
для (я=1;я<=4;я++)
{ for(int k=1; k<=4-i;k++)
System.out для .print(" "); (j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.println("");
} for(i=4;i>=1;i--)
{ for(int k=1; k<=5-i;k++)
для System.out.print(" "); (j=1;j<=2*i-3;j++)
System.out.print("*");
System.out.println("");
}
}
}
[Процедура 20] Вопрос: Имеется последовательность дробей: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13 . Найдите сумму первых 20 элементов этой последовательности. .
1. Анализ программы: пожалуйста, поймите правила изменения числителя и знаменателя.
общественный класс test20 {public static void main(String[] args) {float fm = 1f; float fz = 1f; float temp = 0f; int i=0;i<20;i++){
температура = FM;
фм = фз;
фз = фз + темп;
сумма += fz/fm;
//System.out.println(сумма);
}
System.out.println(сумма);
}
}
[Программа 21] Вопрос: Найдите сумму 1+2!+3!+...+20!
1. Анализ программы: Эта программа просто превращает накопление в накопительное умножение.
общественный класс Ex21 { static long sum = 0; static long fac = 0; public static void main(String[] args) {long sum = 0; int i=1; i<=10; i++ ) {
КВС = КВС * я;
сумма += факт;
}
System.out.println(сумма);
}}
[Программа 22] Название: Рекурсивным методом найти 5!.
1. Анализ программы: Рекурсивная формула: fn=fn_1*4!
import java.util.Scanner public class Ex22 { public static void main(String[] args) {
Сканер s = новый сканер(System.in int n = s.nextInt();
Ex22 tfr = новый Ex22();
System.out.println(tfr.recursion(n));
}
общественная длинная рекурсия (int n) { long value = 0 if (n == 1 || n == 0) {
значение = 1;
} иначе, если (n > 1) {
значение = n * рекурсия (n-1);
} возвращаемое значение;
}}
[Процедура 23] Вопрос: Вместе сидят 5 человек. Сколько лет пятому? Он сказал, что был на 2 года старше четвертого человека. Когда я спросил четвертого человека, сколько ему лет, он сказал, что на 2 года старше третьего. Я спросил третьего человека, и он сказал, что на два года старше второго человека. Спросил второго человека и сказал, что он на два года старше первого. Наконец я спросил первого человека, и он сказал, что ему 10 лет. Сколько лет пятому?
1. Анализ программы. Используя рекурсивный метод, рекурсия делится на два этапа: возврат и рекурсия. Если вы хотите узнать возраст пятого человека, вам нужно знать возраст четвертого человека и так далее до первого человека (10 лет).
Отодвиньте снова.
общественный класс 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("Пятый возраст:"+getAge(5));
}
}
[Программа 24] Вопрос: Для положительного целого числа, состоящего не более чем из 5 цифр, необходимо выполнить следующие требования: 1. Узнать, сколько в нем цифр, и 2. Распечатать цифры в обратном порядке.
импортировать java.util.Scanner общественный класс Ex24 { public static void main(String[] args) {
Ex24 tn = новый Ex24();
Сканер s = новый сканер(System.in); long a = s.nextLong() if(a < 0 || a > 100000) {
System.out.println("Ошибка ввода, пожалуйста, запустите эту программу еще раз");
Система.выход(0);
}if(a >=0 && a <=9) {
System.out.println(a + "является одной цифрой");
System.out.println("Вывод в обратном порядке: " + '/n' + a);
} else if(a >= 10 && a <= 99) {
System.out.println(a + "это двузначное число");
System.out.println("Вывод в обратном порядке" );
tn.converse(а);
} else if(a >= 100 && a <= 999) {
System.out.println(a + "это трехзначное число");
System.out.println("Вывод в обратном порядке" );
tn.converse(а);
} else if(a >= 1000 && a <= 9999) {
System.out.println(a + "четырёхзначное число");
System.out.println("Вывод в обратном порядке" );
tn.converse(а);
} else if(a >= 10000 && a <= 99999) {
System.out.println(a + "пятизначное число");
System.out.println("Вывод в обратном порядке" );
tn.converse(а);
}
}public void converse(long l) {
String s = Long.toString char (l); [] ch = s.toCharArray(); for(int i=ch.length-1; i>=0; i--) {
System.out.print(ch[i]);
}
}}
[Программа 25] Вопрос: Пятизначное число, определите, является ли оно числом-палиндромом. То есть 12321 — это число-палиндром, где цифра единиц совпадает с цифрой тысяч, а цифра десятков совпадает с цифрой тысяч.
import java.util.Scanner; public class Ex25 { static int[] a = new int[5]; static int[5] b = new public static void main(String[] args) { boolean =false ;
Сканер s = новый сканер(System.in); long l = s.nextLong(); if (l > 99999 || l < 10000) {
System.out.println("Ошибка ввода, пожалуйста, введите еще раз!");
л = s.nextLong();
}for (int i = 4; i >= 0; i--) { a[i] = (int) (l / (long) Math.pow(10, i));
l =(l % (long) Math.pow(10, i));
}
Sfyosrtem.out.println(); (int i=0,j=0; i<5; i++, j++) {
б[j] = а[я];
}for(int i=0,j=4; i<5; i++, j--) { if(a[i] != b[j]) {
есть = ложь;
} еще {
есть = правда;
}
}if(is == false) {
System.out.println("не палиндром!");
} Еще если (есть == истина) {
System.out.println("Это палиндром!");
}
}}
[Программа 26] Вопрос: Введите первую букву дня недели, чтобы определить день недели. Если первые буквы совпадают, продолжайте определять вторую букву.
1. Анализ программы: лучше использовать оператор ситуации. Если первые буквы одинаковы, используйте оператор ситуации или оператор if для оценки второй буквы.
импортировать java.util.Scanner общественный класс Ex26 {public static void main(String[] args){
//Сохраняем вторую букву, введенную пользователем
символ неделяSecond;
//Создаем экземпляр класса Scanner как объект ввода для получения пользовательского ввода
Ввод сканера = новый сканер(System.in);
//Запускаем запрос и получаем ввод пользовательской консоли
System.out.print("Пожалуйста, введите первую букву названия недели на английском языке, и я помогу вам определить день недели:");
Строковая буква = input.next();
//Определяем, составляет ли длина строки ввода пользовательской консоли одну букву
если (letter.length() == 1){
//Используйте символ, который занимает первый бит индекса, чтобы позволить сканеру получать входные данные типа char
char WeekFirst = Letter.charAt(0); переключатель (weekFirst) {case 'm':
//При вводе строчных букв используйте функцию структуры переключателя для выполнения следующей ветки регистра с оператором прерывания для реализации функции игнорирования чувствительности к регистру ввода пользовательской консоли.
случай «М»:
System.out.println("Понедельник");
перерыв; случай 't':
//При вводе строчных букв используйте функцию структуры переключателя для выполнения следующей ветки регистра с оператором прерывания для реализации функции игнорирования чувствительности к регистру ввода пользовательской консоли.
случай «Т»:
System.out.print("Поскольку вторник (Tuesday) и четверг (Thursday) оба начинаются с буквы Т, вам нужно ввести вторую букву, чтобы правильно определить: ");
буква = input.next();
//Определяем, составляет ли длина строки ввода пользовательской консоли одну букву
если (letter.length() == 1){
//Используйте символ, который занимает первый бит индекса, чтобы позволить сканеру получать входные данные типа char
неделяSecond = Letter.charAt(0);
//Используйте оператор или (||) для реализации функции игнорирования регистра при вводе пользовательской консоли
if (weekSecond == 'U' || WeekSecond == 'u'){
System.out.println("Вторник");
перерыв;
//Используйте оператор или (||) для реализации функции игнорирования регистра при вводе пользовательской консоли
} else if (weekSecond == 'H' || WeekSecond == 'h'){
System.out.println("Четверг");
перерыв;
//Сообщение об ошибке консоли
} еще{
System.out.println("Ошибка ввода, вторая буква значения недели не распознается, программа завершает работу!");
перерыв;
}
} еще {
//Сообщение об ошибке консоли
System.out.println("Ошибка ввода, можно ввести только одну букву, программа завершается!");
перерыв;
случай 'w':
//При вводе строчных букв используйте функцию структуры переключателя для выполнения следующей ветки регистра с оператором прерывания для реализации функции игнорирования чувствительности к регистру ввода пользовательской консоли.
случай «W»:
System.out.println("Среда");
перерыв; случай 'f':
//При вводе строчных букв используйте функцию структуры переключателя для выполнения следующей ветки регистра с оператором прерывания для реализации функции игнорирования чувствительности к регистру ввода пользовательской консоли.
случай «F»:
System.out.println("Пятница");
перерыв; случай 's':
//При вводе строчных букв используйте функцию структуры переключателя для выполнения следующей ветки регистра с оператором прерывания для реализации функции игнорирования чувствительности к регистру ввода пользовательской консоли.
случаи':
System.out.print("Поскольку суббота (Saturday) и воскресенье (Sunday) начинаются с буквы S, вам нужно ввести вторую букву, чтобы правильно определить: ");
буква = input.next();
//Определяем, составляет ли длина строки ввода пользовательской консоли одну букву
если (letter.length() == 1){
//Используйте символ, который занимает первый бит индекса, чтобы позволить сканеру получать входные данные типа char
неделяSecond = Letter.charAt(0);
//Используйте оператор или (||) для реализации функции игнорирования регистра при вводе пользовательской консоли
if (weekSecond == 'A' || WeekSecond == 'a'){
System.out.println("Суббота");
перерыв;
//Используйте оператор или (||) для реализации функции игнорирования регистра при вводе пользовательской консоли
} else if (weekSecond == 'U' || WeekSecond == 'u'){
System.out.println("Воскресенье");
перерыв;
//Сообщение об ошибке консоли
} еще{
System.out.println("Ошибка ввода, вторая буква значения недели не распознается, программа завершает работу!");
перерыв;
}
} еще{
//Сообщение об ошибке консоли
System.out.println("Ошибка ввода, можно ввести только одну букву, программа завершает работу!");
перерыв;
по умолчанию:
//Сообщение об ошибке консоли
System.out.println("Ошибка ввода, первая буква значения недели не распознается, программа завершает работу!");
перерыв;
}
} еще{
//Сообщение об ошибке консоли
System.out.println("Ошибка ввода, можно ввести только одну букву, программа завершается!");
}
}
}
[Программа 27] Название: Найти простые числа в пределах 100
общественный класс Ex27 { public static void main(String args[])
{int sum,i; for(sum=2;sum<=100;sum++)
{for(i=2;i<=sum/2;i++)
{if(sum%i==0) перерыв;
}если(я>сумма/2)
System.out.println(sum+"простое число");
}
}
}
[Программа 28] Тема: Сортировка 10 чисел.
1. Анализ программы: можно использовать метод выбора, то есть из последних 9 процессов сравнения выбрать наименьший для обмена с первым элементом. По аналогии в следующий раз использовать второй элемент для сравнения с последними 8 элементами и. обменять их.
импорт java.util.Arrays; импорт java.util.Random; импорт общественного класса Ex28 {public static void main(String[] args) {int arr[] = new int[11];
Случайный r=новый Random() for(int i=0;i<10;i++){
arr[i]=r.nextInt(100)+1;//Получаем 10 целых чисел в пределах 100
}
Arrays.sort for (arr); (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"/t");
}
System.out.print("/nPlease Введите число int: ");
Сканер sc=новый сканер(System.in);
arr[10]=sc.nextInt();//Введите целое значение
Aflorrays.sort(arr); (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"/t");
}
}
}
[Программа 29] Вопрос: Найдите сумму диагональных элементов матрицы 3*3.
1. Анализ программы: используйте циклы double for для управления вводом двумерного массива, а затем накапливайте a[i][i] и выводите его.
общественный класс Ex29 { public static void main(String[] args){ double sum=0 [][]={{1,2,3},{4,5, 6},{7,7,8; }}; for(int i=0;i<3;i++) for(int j=0;j<3;j++){ if(i==j)
сумма = сумма + массив [i] [j];
}
System.out.println(сумма);
}
}
[Программа 30] Вопрос: Имеется отсортированный массив. Теперь введите число и вставьте его в массив по оригинальным правилам.
1. Анализ программы: сначала определите, больше ли это число, чем последнее число, а затем рассмотрите возможность вставки среднего числа. После вставки числа после этого элемента будут по очереди перемещаться назад на одну позицию.
импорт java.util.Random общественный класс ArraySort {public static void main(String[] args)
{ int temp=0; int myarr[] = новый int[12];
Случайный r=новый Random(); 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 ]>мьярр[к])
{
темп = myarr [я];
myarr[i]=myarr[k];
myarr[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(myarr[k]>myarr[11])
{
fteomrp=myarr[11]; (int j=11;j>=k+1;j--)
myarr[j]=myarr[j-1];
myarr[k]=temp;
}
forSystem.out.println(""); (int k=1;k<=11;k++)
System.out.print(myarr[k]+",");
}
}
[Программа 31] Название: Вывод массива в обратном порядке.
Анализ программы: Поменяйте местами первое и последнее.
На самом деле управлять переменными проще с помощью цикла:
for(int k=11;k>=1;k--)
System.out.print(myarr[k]+",");
[Программа 32] Название: Возьмите от 4 до 7 цифр целого числа a, начиная с правого конца.
Анализ программы: Вы можете подумать об этом так:
(1) Сначала сдвиньте a вправо на 4 бита.
(2) Установите число, в котором все младшие 4 бита равны 1, а все остальные — 0. Доступно~(~0 < <4)
(3) Выполните действия, описанные выше.
общественный класс Ex32 { public static void main(String[] args)
{интервал а=0; длинный б=18745678;
a=(int) Math.floor(b % Math.pow(10,7)/Math.pow(10, 3));
System.out.println(а);
}}
【Программа 33】
Вопрос: Распечатайте треугольник Ян Хуэя (необходимо распечатать 10 строк, как показано ниже)
1. Анализ программы:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
общественный класс Ex33 {public static void main(String args[]){int i,j int a[][];
а = новый int [8] [8] для (я = 0; я <8; я ++) {
а[я][я]=1;
а[я][0]=1;
for}(i=2;i<8;i++){ for(j=1;j<=i-1;j++){
а[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]);
}
Система.out.println();
}
}
}
[Программа 34] Вопрос: Введите 3 числа a, b, c и выведите их в порядке размера.
1. Анализ программы: с помощью указательных методов.
общественный класс Ex34 { public static void main(String[] args)
{int []arrays = {800,56,500}; for(int i=arrays.length;--i>=0;)
{for(int j=0;j<i;j++)
{if(массивы[j]>массивы[j+1])
{int temp=массивы[j];
массивы[j]=массивы[j+1];
массивы[j+1]=temp;
}}} for(int n=0;n<arrays.length;n++)
System.out.println(массивы[n]);
}
}
[Программа 35] Название: Введите массив, поменяйте местами наибольший элемент с первым элементом, поменяйте местами наименьший элемент с последним элементом и выведите массив.
import java.util.*; public class Ex35 { public static void main(String[] args) { int i, min, max, n, temp1, temp2 int a[];
System.out.println("Введите длину массива:");
Клавиатура сканера = новый сканер(System.in);
п = клавиатура.nextInt();
а = новый int[n] для (я = 0; я <n; я++) {
System.out.print("Введите "th" + (i + 1) + "данные");
а[я] = клавиатура.nextInt();
}
//Выше приведен ввод всего массива
макс = 0;
мин = 0;
//Устанавливаем два флага, начиная с обоих, указывающих на первое число
for (i = 1; i < n; i++) { if (a[i] > a[max])
max = i; //Обходим массив, если он больше a[max], присваиваем его индекс массива max
если (a[i] < a[min])
min = i; //То же, что и выше, если оно меньше a[min], присвойте индекс его массива min
}
//Приведенный выше цикл for находит максимальное и минимальное значения, max — нижний индекс максимального значения, min — нижний индекс минимального значения
темп1 = а[0];
temp2 = a[min]; //Эти две температуры предназначены только для обмена
а[0] = а[макс];
a[max] = temp1; //Первый обмен a[0] и максимального значения a[max]
if (min != 0) { //Если минимальное значение не равно a[0], выполните следующее
а[мин] = а[n - 1];
a[n - 1] = temp2 // Обменяем a[min] и a[n-1];
} else { //Если минимальное значение равно a[0], выполните следующее
а[макс] = а[n - 1];
а[п - 1] = темп1;
}
for (i = 0; i < n; i++) { //Выходной массив
System.out.print(a[i] + " ");
}}}
[Программа 36] Вопрос: Имеется n целых чисел, так что предыдущие числа сдвигаются назад на m позиций, а последние m чисел становятся первыми m числами [Программа 37]
Вопрос: В кругу сидят n человек и нумеруют их по порядку. Начните считать от первого человека (считать от 1 до 3).
Импорт java.util.scanner;
Сканер S = новый сканер (System.in);
arr [i] = true; // Когда индекс правда, это означает, что он все еще в круге
} int leftcount = n;
if (arr [index] == true) {// Когда в круге
Countnum ++;
if (countnum == 3) {// при отчетности 3
countnum = 0; // продолжать считать с нуля
arr [index] = false; // Этот человек выходит из круга
левая плюса -; // оставшееся количество людей уменьшается на один
}
}
index ++; // Каждый раз, когда сообщается номер, подпись увеличивается на один
if (index == n) {// Это круговое количество.
index = 0; // Установите индекс на ноль и запустите снова.
}
} for (int i = 0; i <n; i ++) {if (arr [i] == true) {
System.out.println(я);
}
}
}
}
【Программа 38】
Вопрос: Напишите функцию, чтобы найти длину строки.
Импорт java.util.scanner;
{
Сканер S = новый сканер (System.in);
System.out.println("Пожалуйста, введите строку");
String mys = s.next ();
System.out.println (str_len (mys));
} public static int str_len (строка x)
{return x.length ();
}
}
Вопрос: напишите функцию. 1+1/3+..+1/n
【Программа 39】
Тема: сортировка строк.
Импорт java.util.*;
{
Arraylist <string> list = new ArrayList <string> ();
list.add ("010101");
list.add ("010003");
list.add ("010201");
Collections.sort for (list);
System.out.println (list.get (i));
}}}
【Программа 40】
Тема: На пляже есть куча персиков, и пять обезьян должны их разделить. Первая обезьяна разделила кучу персиков на пять частей. Вторая обезьяна разделила оставшуюся персику на пять равных частей, и была еще одна. там на пляже?
открытый класс DG {
static int ts = 0; // Общее количество персиков
int fs = 1; // Записать количество баллов
статический int hs = 5; // количество обезьян ...
int tsscope = 5000;
public int ft (int t) {if (t == tsscope) {
// Отменить рекурсию, когда количество персиков достигает максимального диапазона значений
System.out.println ("end");
вернуть 0;
} else {if ((t-1)%hs == 0 && fs <= hs) {if (fs == hs)
{
System.out.println («Расположение персика выполняется, когда количество персиков =» +ts +»»);
}
fs+= 1;
Возврат ft ((T-1)/5*4); // возвращать общую сумму, оставленную после того, как обезьяна принимает один кусок
}еще
{
// Условия не выполняются
fs = 1; // количество минут сброшено до 1
возврат ft (ts += 1); // добавить +1 к количеству персиков
}}}
public static void main (string [] args) {new dg (). ft (0);
}
}