更新
@@ -0,0 +1,25 @@
|
|||||||
|
# 排除可执行文件
|
||||||
|
*.out
|
||||||
|
*.o
|
||||||
|
|
||||||
|
# 排除IDE配置文件
|
||||||
|
.idea/
|
||||||
|
.vs/
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
# 排除Trae AI配置文件
|
||||||
|
.trae/
|
||||||
|
|
||||||
|
# 排除编译输出目录
|
||||||
|
output/
|
||||||
|
|
||||||
|
# 排除临时文件
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
|
||||||
|
# 排除系统文件
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# 排除竞赛平台配置文件
|
||||||
|
.cph/
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
static boolean isPrime(int x) {
|
||||||
|
if (x < 2)
|
||||||
|
return false;
|
||||||
|
if (x % 2 == 0)
|
||||||
|
return x == 2;
|
||||||
|
for (int i = 3; i * i <= x; i += 2) {
|
||||||
|
if (x % i == 0)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static boolean noZero(String s) {
|
||||||
|
for (int i = 0; i < s.length(); i++)
|
||||||
|
if (s.charAt(i) == '0')
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
String s = in.next().trim();
|
||||||
|
boolean left = false, right = false;
|
||||||
|
if (noZero(s)) {
|
||||||
|
boolean ok = true;
|
||||||
|
for (int i = 0; i < s.length(); i++) {
|
||||||
|
int v = Integer.parseInt(s.substring(i));
|
||||||
|
if (!isPrime(v)) {
|
||||||
|
ok = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
left = ok;
|
||||||
|
}
|
||||||
|
if (noZero(s)) {
|
||||||
|
boolean ok = true;
|
||||||
|
for (int i = s.length(); i >= 1; i--) {
|
||||||
|
int v = Integer.parseInt(s.substring(0, i));
|
||||||
|
if (!isPrime(v)) {
|
||||||
|
ok = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
right = ok;
|
||||||
|
}
|
||||||
|
if (left && right)
|
||||||
|
System.out.println("both");
|
||||||
|
else if (left)
|
||||||
|
System.out.println("left");
|
||||||
|
else if (right)
|
||||||
|
System.out.println("right");
|
||||||
|
else
|
||||||
|
System.out.println("false");
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class DivideNum {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int num = 0;
|
||||||
|
System.out.println("请输入一个非负三位整数:");
|
||||||
|
num = in.nextInt();
|
||||||
|
int hundreds = num / 100;
|
||||||
|
int tens = (num / 10) % 10;
|
||||||
|
int units = num % 10;
|
||||||
|
System.out.println(hundreds);
|
||||||
|
System.out.println(tens);
|
||||||
|
System.out.println(units);
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,14 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class ca {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
double r = 0;
|
||||||
|
r= in.nextDouble();
|
||||||
|
double S_fang = r * r;
|
||||||
|
double S_yuan = 3.14 * (r * r)/4;
|
||||||
|
double S_ca = S_fang - S_yuan;
|
||||||
|
System.out.println("面积差是:" + S_ca);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,40 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class max {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入三个整数,以空格分隔: ");
|
||||||
|
int a, b, c;
|
||||||
|
a = in.nextInt();
|
||||||
|
b = in.nextInt();
|
||||||
|
c = in.nextInt();
|
||||||
|
|
||||||
|
int max = a;
|
||||||
|
if (b > max) {
|
||||||
|
max = b;
|
||||||
|
}
|
||||||
|
if (c > max) {
|
||||||
|
max = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
int min = a;
|
||||||
|
if (b < min) {
|
||||||
|
min = b;
|
||||||
|
}
|
||||||
|
if (c < min) {
|
||||||
|
min = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
int result;
|
||||||
|
if (a != max && a != min) {
|
||||||
|
result = a;
|
||||||
|
} else if (b != max && b != min) {
|
||||||
|
result = b;
|
||||||
|
} else {
|
||||||
|
result = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("第二小值是: " + result);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Num {
|
||||||
|
private static int min_m(int n, int m) {
|
||||||
|
int result = n - (m * (m - 1) / 2);
|
||||||
|
// 分子≤0 或 无法被m整除 → 不满足条件
|
||||||
|
if (result <= 0 || result % m != 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
// 返回连续序列的首项a(正整数)
|
||||||
|
return result / m;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入n:");
|
||||||
|
int n = in.nextInt();
|
||||||
|
|
||||||
|
// 防止输入错误
|
||||||
|
if (n < 1 || n > 10000) {
|
||||||
|
System.out.println("无符合条件的连续正整数序列");
|
||||||
|
System.out.println("n应该在1-10000之间");
|
||||||
|
in.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean found = false;
|
||||||
|
int m = 2;
|
||||||
|
int firstnum = -1;
|
||||||
|
|
||||||
|
// 从m=2开始寻找,找到第一个满足条件的m就停止
|
||||||
|
for (m = 2; m <= 150; m++) {
|
||||||
|
int sum_m = m * (m - 1) / 2;
|
||||||
|
// 如果n小于等于前m-1个数的和,说明m太大
|
||||||
|
if (n <= sum_m) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
firstnum = min_m(n, m);
|
||||||
|
if (firstnum != -1) {
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found) {
|
||||||
|
System.out.print(n + "=");
|
||||||
|
for (int i = 0; i < m; i++) {
|
||||||
|
System.out.print(firstnum + i);
|
||||||
|
if (i < m - 1) {
|
||||||
|
System.out.print("+");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
System.out.println("无符合条件的连续正整数序列");
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
@@ -0,0 +1,23 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class shiyi {
|
||||||
|
private static int f(int n) {
|
||||||
|
if (n == 1) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (n == 2) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 2*f(n-2)+f(n-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入一个整数n:");
|
||||||
|
int n = in.nextInt();
|
||||||
|
int result = f(n);
|
||||||
|
System.out.println(result);
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.6 MiB |
@@ -0,0 +1,36 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class perfect {
|
||||||
|
private static boolean isPerfect(int n) {
|
||||||
|
if (n <= 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sum = 1;
|
||||||
|
for (int i = 2; i <= Math.sqrt(n); i++) {
|
||||||
|
if (n % i == 0) {
|
||||||
|
sum += i;
|
||||||
|
int other = n / i;
|
||||||
|
if (other != i && other != n) {
|
||||||
|
sum += other;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sum == n;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入一个数字: ");
|
||||||
|
int n = in.nextInt();
|
||||||
|
|
||||||
|
for (int i = 2; i <= n; i++) {
|
||||||
|
if (isPerfect(i)) {
|
||||||
|
System.out.println(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
public class Circle {
|
||||||
|
private double r;
|
||||||
|
|
||||||
|
// ! 构造方法,用于初始化半径
|
||||||
|
public Circle(double r) {
|
||||||
|
this.r = r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ! 计算圆的面积
|
||||||
|
public double GetArea() {
|
||||||
|
return Math.PI * r * r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ! 计算圆的周长
|
||||||
|
public double GetPerimeter() {
|
||||||
|
return 2 * Math.PI * r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ! 获取圆的半径
|
||||||
|
public double GetRadius() {
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ! 设置圆的半径
|
||||||
|
public void SetRadius(double r) {
|
||||||
|
this.r = r;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入圆的半径: ");
|
||||||
|
String line = in.nextLine();
|
||||||
|
|
||||||
|
// 兼容终端管道可能插入的不可见字符,保留数字和符号
|
||||||
|
line = line.replaceAll("[^0-9.+-]", "");
|
||||||
|
double radius = Double.parseDouble(line);
|
||||||
|
|
||||||
|
// 创建一个半径可输入的圆对象
|
||||||
|
Circle circle = new Circle(radius);
|
||||||
|
|
||||||
|
// 输出圆的面积和周长
|
||||||
|
System.out.printf("圆的面积: %.2f\n", circle.GetArea());
|
||||||
|
System.out.printf("圆的周长: %.2f\n", circle.GetPerimeter());
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,58 @@
|
|||||||
|
public class Employee {
|
||||||
|
private String name;
|
||||||
|
private String gender;
|
||||||
|
private String birthDate;
|
||||||
|
private double salary;
|
||||||
|
|
||||||
|
// 无参构造方法
|
||||||
|
public Employee() {}
|
||||||
|
|
||||||
|
// 带参构造方法
|
||||||
|
public Employee(String name, String gender, String birthDate, double salary) {
|
||||||
|
this.name = name;
|
||||||
|
this.gender = gender;
|
||||||
|
this.birthDate = birthDate;
|
||||||
|
this.salary = salary;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGender() {
|
||||||
|
return gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGender(String gender) {
|
||||||
|
this.gender = gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBirthDate() {
|
||||||
|
return birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBirthDate(String birthDate) {
|
||||||
|
this.birthDate = birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getSalary() {
|
||||||
|
return salary;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSalary(double salary) {
|
||||||
|
this.salary = salary;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 显示员工信息的方法
|
||||||
|
public void displayInfo() {
|
||||||
|
System.out.println("员工信息:");
|
||||||
|
System.out.println("姓名:" + name);
|
||||||
|
System.out.println("性别:" + gender);
|
||||||
|
System.out.println("出生日期:" + birthDate);
|
||||||
|
System.out.printf("工资:%.2f元\n", salary);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 创建Employee对象
|
||||||
|
Employee employee = new Employee();
|
||||||
|
|
||||||
|
// 输入员工信息
|
||||||
|
System.out.print("请输入员工姓名:");
|
||||||
|
employee.setName(in.nextLine());
|
||||||
|
|
||||||
|
System.out.print("请输入员工性别:");
|
||||||
|
employee.setGender(in.nextLine());
|
||||||
|
|
||||||
|
System.out.print("请输入出生日期(格式:YYYY-MM-DD):");
|
||||||
|
employee.setBirthDate(in.nextLine());
|
||||||
|
|
||||||
|
System.out.print("请输入工资:");
|
||||||
|
employee.setSalary(in.nextDouble());
|
||||||
|
|
||||||
|
// 输出空行分隔
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
// 输出员工信息
|
||||||
|
employee.displayInfo();
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,15 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入一个整数(表示秒数):");
|
||||||
|
int t = in.nextInt();
|
||||||
|
Time time = new Time();
|
||||||
|
time.Set(t);
|
||||||
|
System.out.print("转换后的时间是:");
|
||||||
|
time.Display();
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
public class Time {
|
||||||
|
private int h;
|
||||||
|
private int m;
|
||||||
|
private int s;
|
||||||
|
|
||||||
|
// 构造方法
|
||||||
|
public Time() {
|
||||||
|
this.h = 0;
|
||||||
|
this.m = 0;
|
||||||
|
this.s = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 带参构造方法
|
||||||
|
public Time(int h, int m, int s) {
|
||||||
|
this.h = h;
|
||||||
|
this.m = m;
|
||||||
|
this.s = s;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将时间转换为总秒数
|
||||||
|
public void Set(int t) {
|
||||||
|
this.h = t / 3600;
|
||||||
|
this.m = (t % 3600) / 60;
|
||||||
|
this.s = t % 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 显示时间,格式为hh:mm:ss
|
||||||
|
public void Display() {
|
||||||
|
// 使用String.format确保每位数字占两位,不足补零
|
||||||
|
System.out.printf("%02d:%02d:%02d\n", h, m, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,30 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class LHY_Compare {
|
||||||
|
// 重载的compare方法示例
|
||||||
|
public static int compare() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较两个整数,返回较大的值
|
||||||
|
public static int compare(int a, int b) {
|
||||||
|
if (a > b) {
|
||||||
|
return a;
|
||||||
|
} else if (a < b) {
|
||||||
|
return b;
|
||||||
|
} else {
|
||||||
|
return 0; // 相等时返回0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较两个字符,返回ASCII码差值的绝对值
|
||||||
|
public static int compare(char a, char b) {
|
||||||
|
return Math.abs(a - b);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较两个字符串,返回较大的字符串(按字典序)
|
||||||
|
public static String compare(String a, String b) {
|
||||||
|
return (a.compareTo(b) > 0) ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 读取整数输入
|
||||||
|
System.out.println("请输入两个整数:");
|
||||||
|
int num1 = in.nextInt();
|
||||||
|
int num2 = in.nextInt();
|
||||||
|
// 调用重载方法并输出结果
|
||||||
|
System.out.println(LHY_Compare.compare(num1, num2));
|
||||||
|
|
||||||
|
// 读取字符输入
|
||||||
|
System.out.println("请输入两个字符:");
|
||||||
|
char char1 = in.next().charAt(0);
|
||||||
|
char char2 = in.next().charAt(0);
|
||||||
|
// 调用重载方法并输出结果
|
||||||
|
System.out.println(LHY_Compare.compare(char1, char2));
|
||||||
|
|
||||||
|
// 读取字符串输入
|
||||||
|
System.out.println("请输入两个字符串:");
|
||||||
|
String str1 = in.next();
|
||||||
|
String str2 = in.next();
|
||||||
|
// 调用重载方法并输出结果
|
||||||
|
System.out.println(LHY_Compare.compare(str1, str2));
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,16 @@
|
|||||||
|
public class Airplane extends Vehicle {
|
||||||
|
private double flightHeight;
|
||||||
|
|
||||||
|
public Airplane(String name, double flightHeight) {
|
||||||
|
super(name);
|
||||||
|
this.flightHeight = flightHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void travelInfo() {
|
||||||
|
System.out.println("交通工具:飞机(" + name + ")");
|
||||||
|
System.out.println("乘坐信息:飞行高度" + flightHeight + "米,适合长途旅行");
|
||||||
|
System.out.println("特点:速度快,效率高");
|
||||||
|
System.out.println("------------------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
public class Car extends Vehicle {
|
||||||
|
private int maxSpeed;
|
||||||
|
|
||||||
|
public Car(String name, int maxSpeed) {
|
||||||
|
super(name);
|
||||||
|
this.maxSpeed = maxSpeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void travelInfo() {
|
||||||
|
System.out.println("交通工具:汽车(" + name + ")");
|
||||||
|
System.out.println("乘坐信息:最高时速" + maxSpeed + "km/h,适合短途旅行");
|
||||||
|
System.out.println("特点:灵活方便,点对点运输");
|
||||||
|
System.out.println("------------------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
Vehicle car = new Car("特斯拉Model S", 250);
|
||||||
|
Vehicle train = new Train("复兴号高铁", 16);
|
||||||
|
Vehicle airplane = new Airplane("波音747", 12500);
|
||||||
|
|
||||||
|
// 调用各交通工具的方法
|
||||||
|
System.out.println("=== 交通工具乘坐信息 ===");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
car.start();
|
||||||
|
car.travelInfo();
|
||||||
|
|
||||||
|
train.start();
|
||||||
|
train.travelInfo();
|
||||||
|
|
||||||
|
airplane.start();
|
||||||
|
airplane.travelInfo();
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
public class Train extends Vehicle {
|
||||||
|
private int carriageCount;
|
||||||
|
|
||||||
|
public Train(String name, int carriageCount) {
|
||||||
|
super(name);
|
||||||
|
this.carriageCount = carriageCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void travelInfo() {
|
||||||
|
System.out.println("交通工具:火车(" + name + ")");
|
||||||
|
System.out.println("乘坐信息:" + carriageCount + "节车厢,适合中长途旅行");
|
||||||
|
System.out.println("特点:运量大,准时可靠");
|
||||||
|
System.out.println("------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
public abstract class Vehicle {
|
||||||
|
public String name;
|
||||||
|
|
||||||
|
public Vehicle(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 抽象方法,子类必须实现
|
||||||
|
public abstract void travelInfo();
|
||||||
|
|
||||||
|
// 具体方法,子类可以继承
|
||||||
|
public void start() {
|
||||||
|
System.out.println(name + "开始启动...");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,5 @@
|
|||||||
|
public interface DbDriver {
|
||||||
|
void connect(); // 连接数据库方法
|
||||||
|
void executeQuery(); // 执行查询方法
|
||||||
|
void disconnect(); // 断开连接方法
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
public class GoogleDriver implements DbDriver {
|
||||||
|
@Override
|
||||||
|
public void connect() {
|
||||||
|
System.out.println("Google云数据库驱动:建立云端连接...");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executeQuery() {
|
||||||
|
System.out.println("Google云数据库驱动:执行分布式查询");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disconnect() {
|
||||||
|
System.out.println("Google云数据库驱动:关闭云连接");
|
||||||
|
System.out.println("------------------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
public class IBMDriver implements DbDriver {
|
||||||
|
@Override
|
||||||
|
public void connect() {
|
||||||
|
System.out.println("IBM数据库驱动:建立安全连接...");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executeQuery() {
|
||||||
|
System.out.println("IBM数据库驱动:执行高性能查询操作");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disconnect() {
|
||||||
|
System.out.println("IBM数据库驱动:安全断开连接");
|
||||||
|
System.out.println("------------------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 使用接口的多态:同一调用输出不同内容
|
||||||
|
UserDriver userDriver = new UserDriver();
|
||||||
|
|
||||||
|
// 使用接口类型声明变量
|
||||||
|
IBMDriver IBMDriver = new IBMDriver();
|
||||||
|
GoogleDriver GoogleDriver = new GoogleDriver();
|
||||||
|
|
||||||
|
// 使用IBM驱动
|
||||||
|
System.out.println("=== 测试IBM数据库驱动 ===");
|
||||||
|
userDriver.setDriver(IBMDriver);
|
||||||
|
userDriver.useDriver();
|
||||||
|
|
||||||
|
// 使用Google驱动
|
||||||
|
System.out.println("=== 测试Google数据库驱动 ===");
|
||||||
|
userDriver.setDriver(GoogleDriver);
|
||||||
|
userDriver.useDriver();
|
||||||
|
|
||||||
|
// 演示多态特性
|
||||||
|
System.out.println("=== 多态特性演示 ===");
|
||||||
|
DbDriver[] drivers = {
|
||||||
|
new IBMDriver(),
|
||||||
|
new GoogleDriver()
|
||||||
|
};
|
||||||
|
for (DbDriver driver : drivers) {
|
||||||
|
userDriver.setDriver(driver);
|
||||||
|
userDriver.useDriver();
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
public class UserDriver {
|
||||||
|
private DbDriver driver;
|
||||||
|
|
||||||
|
// 设置使用的驱动
|
||||||
|
public void setDriver(DbDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用驱动执行操作
|
||||||
|
public void useDriver() {
|
||||||
|
if (driver != null) {
|
||||||
|
driver.connect();
|
||||||
|
driver.executeQuery();
|
||||||
|
driver.disconnect();
|
||||||
|
} else {
|
||||||
|
System.out.println("未设置数据库驱动!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,24 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
String input = in.nextLine(); // 读取一行输入
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
// 遍历字符串中的每个字符
|
||||||
|
for (int i = 0; i < input.length(); i++) {
|
||||||
|
char c = input.charAt(i);
|
||||||
|
if (Character.isDigit(c)) {
|
||||||
|
// 检查字符是否为数字
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出数字字符个数
|
||||||
|
System.out.println(count);
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,45 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String s = "A1B2C3D4E5F6G7H8";
|
||||||
|
|
||||||
|
int[] nums = extractInts(s);
|
||||||
|
String[] letters = extractLetters(s);
|
||||||
|
|
||||||
|
System.out.println(Arrays.toString(nums));
|
||||||
|
System.out.println(Arrays.toString(letters));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取数字到 int[]
|
||||||
|
public static int[] extractInts(String s) {
|
||||||
|
List<Integer> list = new ArrayList<>();
|
||||||
|
// 遍历字符串,提取数字字符
|
||||||
|
for (int i = 0; i < s.length(); i++) {
|
||||||
|
char c = s.charAt(i);
|
||||||
|
if (Character.isDigit(c)) {
|
||||||
|
list.add(c - '0');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 将 List<Integer> 转换为 int[]
|
||||||
|
int[] arr = new int[list.size()];
|
||||||
|
for (int i = 0; i < list.size(); i++)
|
||||||
|
arr[i] = list.get(i);
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取字母到 String[]
|
||||||
|
public static String[] extractLetters(String s) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
// 遍历字符串,提取字母字符
|
||||||
|
for (int i = 0; i < s.length(); i++) {
|
||||||
|
char c = s.charAt(i);
|
||||||
|
if (Character.isLetter(c)) {
|
||||||
|
list.add(String.valueOf(c).toUpperCase());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list.toArray(new String[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
// 使用 Map 统计字符串数组中各元素出现次数
|
||||||
|
public static Map<String, Integer> count(String[] arr) {
|
||||||
|
Map<String, Integer> freq = new LinkedHashMap<>(); // 保持键的插入顺序
|
||||||
|
for (String s : arr) {
|
||||||
|
freq.put(s, freq.getOrDefault(s, 0) + 1);
|
||||||
|
}
|
||||||
|
return freq;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String[] input = { "a", "b", "a", "b", "c", "a", "b", "c", "b" };
|
||||||
|
Map<String, Integer> result = count(input);
|
||||||
|
System.out.println("输入: " + Arrays.toString(input));
|
||||||
|
System.out.println("统计结果: " + result); // 期望 {a=3, b=4, c=2}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,25 @@
|
|||||||
|
public class Complex {
|
||||||
|
public int real;
|
||||||
|
public int imag;
|
||||||
|
|
||||||
|
public Complex(int real, int imag) {
|
||||||
|
this.real = real;
|
||||||
|
this.imag = imag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Complex add(Complex other) {
|
||||||
|
return new Complex(this.real + other.real, this.imag + other.imag);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Complex sub(Complex other) {
|
||||||
|
return new Complex(this.real - other.real, this.imag - other.imag);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出形如 8+6i 或 8-6i
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
String sign = imag >= 0 ? "+" : "-";
|
||||||
|
int absImag = Math.abs(imag);
|
||||||
|
return real + sign + absImag + "i";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
public class ComplexCalc {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
String line = in.nextLine().trim();
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
// 支持三种输入:
|
||||||
|
// 1) "3 2 + 5 4" -> (3+2i) op (5+4i)
|
||||||
|
// 2) "32 + 54" -> (3+2i) op (5+4i)
|
||||||
|
// 3) "3+2i + 5+4i" -> 常见复数格式(运算符两侧有空格)
|
||||||
|
|
||||||
|
ParseResult pr = parse(line);
|
||||||
|
if (pr == null) {
|
||||||
|
System.out.println("输入格式不正确");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Complex a = pr.left;
|
||||||
|
Complex b = pr.right;
|
||||||
|
Complex res = pr.op == '+' ? a.add(b) : a.sub(b);
|
||||||
|
System.out.println(res.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
static class ParseResult {
|
||||||
|
Complex left;
|
||||||
|
Complex right;
|
||||||
|
char op; // '+' or '-'
|
||||||
|
ParseResult(Complex l, Complex r, char o) { left = l; right = r; op = o; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ParseResult parse(String line) {
|
||||||
|
// 尝试格式1:a b op c d
|
||||||
|
String[] tokens = line.split("\\s+");
|
||||||
|
if (tokens.length == 5 && isSign(tokens[2])) {
|
||||||
|
try {
|
||||||
|
int r1 = Integer.parseInt(tokens[0]);
|
||||||
|
int i1 = Integer.parseInt(tokens[1]);
|
||||||
|
int r2 = Integer.parseInt(tokens[3]);
|
||||||
|
int i2 = Integer.parseInt(tokens[4]);
|
||||||
|
return new ParseResult(new Complex(r1, i1), new Complex(r2, i2), tokens[2].charAt(0));
|
||||||
|
} catch (NumberFormatException ignored) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试格式2:ab op cd(各为两个数字)
|
||||||
|
if (tokens.length == 3 && isSign(tokens[1]) && tokens[0].matches("\\d{2}") && tokens[2].matches("\\d{2}")) {
|
||||||
|
int r1 = tokens[0].charAt(0) - '0';
|
||||||
|
int i1 = tokens[0].charAt(1) - '0';
|
||||||
|
int r2 = tokens[2].charAt(0) - '0';
|
||||||
|
int i2 = tokens[2].charAt(1) - '0';
|
||||||
|
return new ParseResult(new Complex(r1, i1), new Complex(r2, i2), tokens[1].charAt(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试格式3:a+bi op c+di(运算符两侧必须有空格)
|
||||||
|
if (line.contains(" + ") || line.contains(" - ")) {
|
||||||
|
char op = line.contains(" + ") ? '+' : '-';
|
||||||
|
String[] parts = line.split("\\s+[+\\-]\\s+");
|
||||||
|
if (parts.length == 2) {
|
||||||
|
Complex left = parseAPlusBi(parts[0]);
|
||||||
|
Complex right = parseAPlusBi(parts[1]);
|
||||||
|
if (left != null && right != null) {
|
||||||
|
return new ParseResult(left, right, op);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isSign(String s) {
|
||||||
|
return s.length() == 1 && (s.charAt(0) == '+' || s.charAt(0) == '-');
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Complex parseAPlusBi(String s) {
|
||||||
|
s = s.trim();
|
||||||
|
Matcher m = Pattern.compile("^([+-]?\\d+)\\s*([+\\-])\\s*([+-]?\\d+)i$").matcher(s);
|
||||||
|
if (m.matches()) {
|
||||||
|
int r = Integer.parseInt(m.group(1));
|
||||||
|
int sign = m.group(2).charAt(0) == '-' ? -1 : 1;
|
||||||
|
int i = sign * Integer.parseInt(m.group(3));
|
||||||
|
return new Complex(r, i);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,18 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class DateApp {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
String line = in.nextLine().trim(); // 形如 2020-10-10
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
String[] parts = line.split("-");
|
||||||
|
int y = Integer.parseInt(parts[0]);
|
||||||
|
int m = Integer.parseInt(parts[1]);
|
||||||
|
int d = Integer.parseInt(parts[2]);
|
||||||
|
|
||||||
|
MyDate date = new MyDate();
|
||||||
|
date.set(y, m, d);
|
||||||
|
date.print();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
public class MyDate {
|
||||||
|
private int year;
|
||||||
|
private int month;
|
||||||
|
private int day;
|
||||||
|
|
||||||
|
public void set(int year, int month, int day) {
|
||||||
|
this.year = year;
|
||||||
|
this.month = month;
|
||||||
|
this.day = day;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void print() {
|
||||||
|
System.out.println("输出重置后的时间:");
|
||||||
|
System.out.println(year + ":" + month + ":" + day);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,37 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 5x5
|
||||||
|
int Shuzu[][] = new int[5][5];
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
Shuzu[i][j] = in.nextInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// m n
|
||||||
|
int m, n;
|
||||||
|
m = in.nextInt();
|
||||||
|
n = in.nextInt();
|
||||||
|
|
||||||
|
//
|
||||||
|
int temp[]=new int[5];
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
temp[j] = Shuzu[m][j];
|
||||||
|
Shuzu[m][j] = Shuzu[n][j];
|
||||||
|
Shuzu[n][j] = temp[j];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
System.out.print(Shuzu[i][j] + " ");
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,18 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class DateApp {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
String line = in.nextLine().trim(); // 形如 2020-10-10
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
String[] parts = line.split("-");
|
||||||
|
int y = Integer.parseInt(parts[0]);
|
||||||
|
int m = Integer.parseInt(parts[1]);
|
||||||
|
int d = Integer.parseInt(parts[2]);
|
||||||
|
|
||||||
|
MyDate date = new MyDate();
|
||||||
|
date.set(y, m, d);
|
||||||
|
date.print();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
public class MyDate {
|
||||||
|
private int year;
|
||||||
|
private int month;
|
||||||
|
private int day;
|
||||||
|
|
||||||
|
public void set(int year, int month, int day) {
|
||||||
|
this.year = year;
|
||||||
|
this.month = month;
|
||||||
|
this.day = day;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void print() {
|
||||||
|
System.out.println("输出重置后的时间:");
|
||||||
|
System.out.println(year + ":" + month + ":" + day);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,36 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class MaxNum {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int a = in.nextInt();
|
||||||
|
int b = in.nextInt();
|
||||||
|
int c = in.nextInt();
|
||||||
|
int max = 0;
|
||||||
|
if (a>=b)
|
||||||
|
{
|
||||||
|
if (a>=c)
|
||||||
|
{
|
||||||
|
max = a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
max = c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (b>=c)
|
||||||
|
{
|
||||||
|
max = b;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
max = c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("max="+max);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.7 MiB |
@@ -0,0 +1,29 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class DaFen {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
int score = 0;
|
||||||
|
if (n<0 || n>40)
|
||||||
|
{
|
||||||
|
System.out.println("做对题目数量有误");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (n <= 10) {
|
||||||
|
score = n * 6;
|
||||||
|
System.out.println("score=" + score);
|
||||||
|
}
|
||||||
|
if (n > 10 && n <= 20) {
|
||||||
|
score = 60 + (n - 10) * 2;
|
||||||
|
System.out.println("score=" + score);
|
||||||
|
}
|
||||||
|
if (n > 20) {
|
||||||
|
score = 80 + (n - 20);
|
||||||
|
System.out.println("score=" + score);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.6 MiB |
@@ -0,0 +1,64 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int rows = 5, cols = 5; // 可灵活调整矩阵大小
|
||||||
|
int[][] matrix = new int[rows][cols];
|
||||||
|
|
||||||
|
System.out.println("请输入" + rows + "×" + cols + "二维数组的元素:");
|
||||||
|
for (int i = 0; i < rows; i++) {
|
||||||
|
for (int j = 0; j < cols; j++) {
|
||||||
|
matrix[i][j] = in.nextInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
findSaddlePoints(matrix);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void findSaddlePoints(int[][] matrix) {
|
||||||
|
int rows = matrix.length;
|
||||||
|
int cols = matrix[0].length;
|
||||||
|
boolean found = false;
|
||||||
|
|
||||||
|
// 预计算每行的最大值
|
||||||
|
int[] rowMaxs = new int[rows];
|
||||||
|
for (int i = 0; i < rows; i++) {
|
||||||
|
int max = matrix[i][0];
|
||||||
|
for (int j = 1; j < cols; j++) {
|
||||||
|
if (matrix[i][j] > max) {
|
||||||
|
max = matrix[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rowMaxs[i] = max;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 预计算每列的最小值
|
||||||
|
int[] colMins = new int[cols];
|
||||||
|
for (int j = 0; j < cols; j++) {
|
||||||
|
int min = matrix[0][j];
|
||||||
|
for (int i = 1; i < rows; i++) {
|
||||||
|
if (matrix[i][j] < min) {
|
||||||
|
min = matrix[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
colMins[j] = min;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找鞍点:行最大值且列最小值
|
||||||
|
for (int i = 0; i < rows; i++) {
|
||||||
|
for (int j = 0; j < cols; j++) {
|
||||||
|
if (matrix[i][j] == rowMaxs[i] && matrix[i][j] == colMins[j]) {
|
||||||
|
System.out.println("鞍点位置: (" + i + ", " + j + "), 值: " + matrix[i][j]);
|
||||||
|
found = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
System.out.println("未找到鞍点");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 存储26个字母的出现次数
|
||||||
|
int[] frequency = new int[26];
|
||||||
|
int maxFrequency = 0;
|
||||||
|
|
||||||
|
// 读取4行文本并统计频率
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
String line = scanner.nextLine().toUpperCase();
|
||||||
|
for (char c : line.toCharArray()) {
|
||||||
|
if (c >= 'A' && c <= 'Z') {
|
||||||
|
int index = c - 'A';
|
||||||
|
frequency[index]++;
|
||||||
|
if (frequency[index] > maxFrequency) {
|
||||||
|
maxFrequency = frequency[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 绘制垂直直方图
|
||||||
|
for (int row = maxFrequency; row > 0; row--) {
|
||||||
|
StringBuilder line = new StringBuilder();
|
||||||
|
for (int i = 0; i < 26; i++) {
|
||||||
|
if (frequency[i] >= row) {
|
||||||
|
line.append("* ");
|
||||||
|
} else {
|
||||||
|
line.append(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 去除行尾空格后输出
|
||||||
|
System.out.println(line.toString().replaceAll("\\s+$", ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出字母行
|
||||||
|
StringBuilder alphabetLine = new StringBuilder();
|
||||||
|
for (char c = 'A'; c <= 'Z'; c++) {
|
||||||
|
alphabetLine.append(c).append(" ");
|
||||||
|
}
|
||||||
|
System.out.println(alphabetLine.toString().trim());
|
||||||
|
|
||||||
|
scanner.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.7 MiB |
@@ -0,0 +1,30 @@
|
|||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 处理多组测试数据
|
||||||
|
while (scanner.hasNextInt()) {
|
||||||
|
int n = scanner.nextInt();
|
||||||
|
int[] numbers = new int[n];
|
||||||
|
|
||||||
|
// 读取n个整数
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
numbers[i] = scanner.nextInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对数组进行排序
|
||||||
|
Arrays.sort(numbers);
|
||||||
|
|
||||||
|
// 输出排序结果
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
System.out.print(numbers[i] + " ");
|
||||||
|
}
|
||||||
|
System.out.println(); // 换行
|
||||||
|
}
|
||||||
|
|
||||||
|
scanner.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,28 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static boolean isPrime(int number) {
|
||||||
|
if (number <= 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (int i = 2; i <= Math.sqrt(number); i++) {
|
||||||
|
if (number % i == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.print("请输入一个整数:");
|
||||||
|
int number = in.nextInt();
|
||||||
|
if (isPrime(number)) {
|
||||||
|
System.out.println(number + "是素数");
|
||||||
|
} else {
|
||||||
|
System.out.println(number + "不是素数");
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,20 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
long res = 1L;
|
||||||
|
for (int i = 2; i <= n; i++) {
|
||||||
|
res *= i;
|
||||||
|
while (res % 10 == 0) {
|
||||||
|
res /= 10; // 去除产生的0
|
||||||
|
}
|
||||||
|
res %= 10000000L; // 保留足够位数避免溢出
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(res % 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,33 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class InsertSorted {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
|
||||||
|
int[] arr = new int[10]; // 容纳插入后的10个元素
|
||||||
|
for (int i = 0; i < 9; i++) {
|
||||||
|
if (sc.hasNextInt()) {
|
||||||
|
arr[i] = sc.nextInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int x = sc.nextInt(); // 待插入的数字
|
||||||
|
sc.close();
|
||||||
|
|
||||||
|
int pos = 9; // 默认插到末尾
|
||||||
|
for (int i = 0; i < 9; i++) {
|
||||||
|
if (x <= arr[i]) {
|
||||||
|
pos = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 9; i > pos; i--) {
|
||||||
|
arr[i] = arr[i - 1];
|
||||||
|
}
|
||||||
|
arr[pos] = x;
|
||||||
|
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
System.out.println(arr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,27 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
String n = in.next();
|
||||||
|
int s = in.nextInt();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (int i = 0; i < n.length(); i++) {
|
||||||
|
char c = n.charAt(i);
|
||||||
|
while (s > 0 && sb.length() > 0 && sb.charAt(sb.length() - 1) > c) {
|
||||||
|
sb.deleteCharAt(sb.length() - 1);
|
||||||
|
s--;
|
||||||
|
}
|
||||||
|
sb.append(c);
|
||||||
|
}
|
||||||
|
if (s > 0) {
|
||||||
|
int newLen = Math.max(0, sb.length() - s);
|
||||||
|
sb.setLength(newLen);
|
||||||
|
}
|
||||||
|
int idx = 0;
|
||||||
|
while (idx < sb.length() && sb.charAt(idx) == '0') idx++;
|
||||||
|
String res = idx == sb.length() ? "0" : sb.substring(idx);
|
||||||
|
System.out.println(res);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,34 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
static int gcd(int a, int b) {
|
||||||
|
a = Math.abs(a);
|
||||||
|
b = Math.abs(b);
|
||||||
|
while (b != 0) {
|
||||||
|
int t = a % b;
|
||||||
|
a = b;
|
||||||
|
b = t;
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
static long lcm(int a, int b) {
|
||||||
|
if (a == 0 || b == 0) return 0L;
|
||||||
|
int g = gcd(a, b);
|
||||||
|
long x = (long) a / g;
|
||||||
|
long y = (long) b;
|
||||||
|
long res = x * y;
|
||||||
|
if (res < 0) res = -res;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int a = in.nextInt();
|
||||||
|
int b = in.nextInt();
|
||||||
|
int g = gcd(a, b);
|
||||||
|
long l = lcm(a, b);
|
||||||
|
System.out.println(g + " " + l);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,32 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int N = in.nextInt();
|
||||||
|
int K = in.nextInt();
|
||||||
|
String s = in.next();
|
||||||
|
BigInteger[][] dp = new BigInteger[N + 1][K + 2];
|
||||||
|
for (int i = 1; i <= N; i++) {
|
||||||
|
dp[i][1] = new BigInteger(s.substring(0, i));
|
||||||
|
}
|
||||||
|
for (int p = 2; p <= K + 1; p++) {
|
||||||
|
for (int i = p; i <= N; i++) {
|
||||||
|
BigInteger best = null;
|
||||||
|
for (int j = p - 1; j <= i - 1; j++) {
|
||||||
|
if (dp[j][p - 1] == null)
|
||||||
|
continue;
|
||||||
|
BigInteger seg = new BigInteger(s.substring(j, i));
|
||||||
|
BigInteger cand = dp[j][p - 1].multiply(seg);
|
||||||
|
if (best == null || cand.compareTo(best) > 0)
|
||||||
|
best = cand;
|
||||||
|
}
|
||||||
|
dp[i][p] = best;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BigInteger ans = dp[N][K + 1];
|
||||||
|
System.out.println(ans == null ? "0" : ans.toString());
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,16 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
final double PI = 3.1415;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
double r = in.nextDouble();
|
||||||
|
double area = PI * r * r;
|
||||||
|
System.out.printf("%.6f\n", area);
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,19 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
int[] a = new int[n];
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
a[i] = in.nextInt();
|
||||||
|
}
|
||||||
|
int m = in.nextInt();
|
||||||
|
int cnt = 0;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (a[i] == m) cnt++;
|
||||||
|
}
|
||||||
|
System.out.println(cnt);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.2 MiB |
@@ -0,0 +1,33 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
boolean found = false;
|
||||||
|
for (int a = 1; a <= 9; a++) {
|
||||||
|
for (int b = 0; b <= 9; b++) {
|
||||||
|
for (int c = 0; c <= 9; c++) {
|
||||||
|
if (2 * a + 2 * b + c == n) {
|
||||||
|
int x = a * 10000 + b * 1000 + c * 100 + b * 10 + a;
|
||||||
|
System.out.println(x);
|
||||||
|
found = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int a = 1; a <= 9; a++) {
|
||||||
|
for (int b = 0; b <= 9; b++) {
|
||||||
|
for (int c = 0; c <= 9; c++) {
|
||||||
|
if (2 * (a + b + c) == n) {
|
||||||
|
int y = a * 100000 + b * 10000 + c * 1000 + c * 100 + b * 10 + a;
|
||||||
|
System.out.println(y);
|
||||||
|
found = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) System.out.println(-1);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.2 MiB |
@@ -0,0 +1,23 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
while (in.hasNextInt()) {
|
||||||
|
int N = in.nextInt();
|
||||||
|
if (N == 0) break;
|
||||||
|
int[] req = new int[N];
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
int voters = in.nextInt();
|
||||||
|
req[i] = voters / 2 + 1;
|
||||||
|
}
|
||||||
|
Arrays.sort(req);
|
||||||
|
int need = N / 2 + 1;
|
||||||
|
int sum = 0;
|
||||||
|
for (int i = 0; i < need; i++) sum += req[i];
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.2 MiB |
@@ -0,0 +1,14 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
int f = 0;
|
||||||
|
for (int i = 2; i <= n; i++) {
|
||||||
|
f = (f + 3) % i;
|
||||||
|
}
|
||||||
|
System.out.println(f + 1);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.2 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = Integer.parseInt(in.next());
|
||||||
|
if (n == 0) {
|
||||||
|
System.out.println(0);
|
||||||
|
in.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
BigInteger tenPow = BigInteger.TEN.pow(n - 1);
|
||||||
|
BigInteger eightPow = BigInteger.valueOf(8).pow(n - 1);
|
||||||
|
BigInteger part1 = BigInteger.valueOf(9).multiply(tenPow);
|
||||||
|
BigInteger part2 = BigInteger.valueOf(7).multiply(eightPow);
|
||||||
|
BigInteger res = part1.add(part2).divide(BigInteger.valueOf(2));
|
||||||
|
System.out.println(res.toString());
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,38 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
long s1 = 0, s2 = 0, s3 = 0;
|
||||||
|
String bestId = "";
|
||||||
|
String bestName = "";
|
||||||
|
int ba = 0, bb = 0, bc = 0;
|
||||||
|
int best = -1;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
String id = in.next();
|
||||||
|
String name = in.next();
|
||||||
|
int a = in.nextInt();
|
||||||
|
int b = in.nextInt();
|
||||||
|
int c = in.nextInt();
|
||||||
|
s1 += a;
|
||||||
|
s2 += b;
|
||||||
|
s3 += c;
|
||||||
|
int tot = a + b + c;
|
||||||
|
if (tot > best) {
|
||||||
|
best = tot;
|
||||||
|
bestId = id;
|
||||||
|
bestName = name;
|
||||||
|
ba = a;
|
||||||
|
bb = b;
|
||||||
|
bc = c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int avg1 = (int) (s1 / n);
|
||||||
|
int avg2 = (int) (s2 / n);
|
||||||
|
int avg3 = (int) (s3 / n);
|
||||||
|
System.out.println(avg1 + " " + avg2 + " " + avg3);
|
||||||
|
System.out.println(bestId + " " + bestName + " " + ba + " " + bb + " " + bc);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,37 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int a = in.nextInt();
|
||||||
|
String n = in.next();
|
||||||
|
int b = in.nextInt();
|
||||||
|
long value = 0L;
|
||||||
|
for (int i = 0; i < n.length(); i++) {
|
||||||
|
char ch = n.charAt(i);
|
||||||
|
int v;
|
||||||
|
if (ch >= '0' && ch <= '9') v = ch - '0';
|
||||||
|
else if (ch >= 'a' && ch <= 'f') v = ch - 'a' + 10;
|
||||||
|
else if (ch >= 'A' && ch <= 'F') v = ch - 'A' + 10;
|
||||||
|
else v = 0;
|
||||||
|
value = value * a + v;
|
||||||
|
}
|
||||||
|
if (value == 0) {
|
||||||
|
System.out.println("0");
|
||||||
|
in.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ArrayList<Character> digits = new ArrayList<>();
|
||||||
|
while (value > 0) {
|
||||||
|
int r = (int)(value % b);
|
||||||
|
char d = (char)(r < 10 ? ('0' + r) : ('A' + (r - 10)));
|
||||||
|
digits.add(d);
|
||||||
|
value /= b;
|
||||||
|
}
|
||||||
|
StringBuilder out = new StringBuilder();
|
||||||
|
for (int i = digits.size() - 1; i >= 0; i--) out.append(digits.get(i));
|
||||||
|
System.out.println(out.toString());
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,32 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
static boolean isPrime(int x) {
|
||||||
|
if (x < 2) return false;
|
||||||
|
if (x % 2 == 0) return x == 2;
|
||||||
|
for (int i = 3; i * i <= x; i += 2) {
|
||||||
|
if (x % i == 0) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static boolean isPalin(int x) {
|
||||||
|
String s = Integer.toString(x);
|
||||||
|
int i = 0, j = s.length() - 1;
|
||||||
|
while (i < j) {
|
||||||
|
if (s.charAt(i++) != s.charAt(j--)) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int n = in.nextInt();
|
||||||
|
int cnt = 0;
|
||||||
|
for (int i = 11; i <= n; i++) {
|
||||||
|
if (isPrime(i) && isPalin(i)) cnt++;
|
||||||
|
}
|
||||||
|
System.out.println(cnt);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,15 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
int[] h = new int[10];
|
||||||
|
for (int i = 0; i < 10; i++) h[i] = in.nextInt();
|
||||||
|
int reach = in.nextInt();
|
||||||
|
int limit = reach + 30;
|
||||||
|
int count = 0;
|
||||||
|
for (int i = 0; i < 10; i++) if (h[i] <= limit) count++;
|
||||||
|
System.out.println(count);
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
}
|
||||||