Java课程课堂作业代码

前言

本文章只是单纯记录课堂老师布置的课堂作业代码,题目都比较简单,所以没有写解题思路,相信大家都能理解,当然其中有的解法和代码不是最优的,当时只是为了完成题目,后来也懒得改了,如果有不恰当或者不正确的地方,欢迎指出

备注:有的忘记记录题目信息了,有的题目直接在作业系统里面提交了,请见谅,将就着看吧

1、

查看代码
package java_works;

import java.util.Scanner;

public class java_10001 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc=new Scanner(System.in);
	String b=sc.nextLine();
	int zm=0,kg=0,qt=0;
	for(int i=0;i<b.length();i++)
	{
		if(b.charAt(i)>=65&&b.charAt(i)<=90)
			zm++;
		else if(b.charAt(i)>=97&&b.charAt(i)<=122)
			zm++;
		else if(b.charAt(i)==32)
			kg++;
		else
			qt++;
	}
	System.out.println("字母:"+zm);
	System.out.println("空格:"+kg);
	System.out.println("其他:"+qt);
}

}
2、

查看代码
package java_works;

import java.text.DecimalFormat;

import java.util.Scanner;

public class java_10002 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc=new Scanner(System.in);
	int k=sc.nextInt();
	double sum=0;
	for(double i=0;i<=k;i++)
	{
		sum=sum+((i+6)/(i+10));
	}
	System.out.print("sum:");
	System.out.printf("%.5f",sum);
}

}
3、输入正整数N,输出[1, N]的之间的质数

查看代码
package java_works;

import java.util.Scanner;

public class java_10003 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc=new Scanner(System.in);
	int N=-1;
	N=sc.nextInt();
	for(int i=2;i<=N;i++)
	{
		int j;
		for(j=2;j<=Math.sqrt(i);j++)
		{
			if(i%j==0)break;
		}
		if(j>Math.sqrt(i))
			System.out.print(i+" ");
	}
}

}
4、用户输入正整数K为3-6之间的数,然后输出k位数的水仙花数

查看代码
package java_works;

import java.util.Scanner;

public class java_10004 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	while(true) {
		Scanner sc=new Scanner(System.in);
		int K=-1;
		K=sc.nextInt();
		if(K == 0)
		{
			break;
		}
		int a[] = new int[K];
		int num = (int) Math.pow(10, K - 1) + 1;
		while (num <= Math.pow(10, K)) {
            int sum = 0;
            for (int j = 0; j < K; j++)
                a[j] = (int) (num / Math.pow(10, j) % 10);
            for (int j = 0; j < K; j++) 
                sum = sum + (int) Math.pow(a[j],K); 
            if (num == sum)
                System.out.print(num + " ");
            num++;
        }
	}
	
}

}
5、输入正整数K,用二维数组生成并存储K阶方阵,第一行为: 1, 2, 3, …, K, 第二行为: K+1, K+2, … ,K+K, … 依次类推;然后输出方阵的转置。

查看代码
package java_works;

import java.util.Scanner;

public class java_10005 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int K = sc.nextInt();
	int a[][] = new int[K][K];
	int b[][] = new int[K][K];
	int z=1;
	for(int i=0;i<K;i++)
	{
		for(int j=0;j<K;j++)
		{
			a[i][j]=z;
			z++;
		}
	}
	for(int i=0;i<K;i++)
	{
		for(int j=0;j<K;j++)
		{
			b[j][i]=a[i][j];
		}
	}
	for(int i=0;i<K;i++)
	{
		for(int j=0;j<K;j++)
		{
			System.out.print(b[i][j]+" ");
		}
		System.out.println();
	}
}

}
6、输入正整数N,然后输入N个浮点数,然后计算并输出它们平均值和方差。

查看代码
package java_works;

import java.util.Scanner;

public class java_10006 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	double[] a = new double[N];
	for(int i=0;i<a.length;i++)
	{
		a[i]=sc.nextDouble();
	}
	Double sum=0.0;
	for(int i=0;i<a.length;i++)
	{
		sum=sum+a[i];                   //求和
	}
	double mean = 0.0,diff=0.0;
	mean = sum / N;
	double c=0.0;
	for(int i=0;i<a.length;i++)
	{
		c=c+Math.pow((a[i]-mean),2);
	}
	diff=c/N;
	System.out.printf("mean:"+"%.5f",mean);
	System.out.println();
	System.out.printf("diff:"+"%.5f",diff);
}

}
7、输入正整数N,然后输入N个浮点数,然后计算并输出它们最小值和最大值。

查看代码
package java_works;

import java.util.Scanner;

public class java_10007 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	Double[] a = new Double[N];
	for(int i=0;i<N;i++)
	{
		a[i]=sc.nextDouble();
	}
	double minv = a[0],maxv=a[0];
	for(int i=0;i<a.length;i++)
	{
		if(a[i]<minv)
			minv=a[i];
		if(a[i]>maxv)
			maxv=a[i];
	}
	System.out.printf("minv:"+"%.5f",minv);
	System.out.println();
	System.out.printf("maxv:"+"%.5f",maxv);
	
}

}
8、输入正整数N,然后输入N个浮点数,再按从小到大排序并输出排序结果。

查看代码
package java_works;

import java.util.Scanner;

public class java_10008 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	double[] a = new double[N];
	for(int i=0;i<a.length;i++)
	{
		a[i] = sc.nextDouble();
	}
	for(int i=0;i<a.length;i++)
		for(int j=0;j<a.length-1;j++)
		{
			double temp;
			if(a[j]>a[j+1])
			{
				temp=a[j+1];
				a[j+1]=a[j];
				a[j]=temp;
			}	
		}
	for(int i=0;i<a.length;i++)
	{
		System.out.printf("%.5f\n",a[i]);
	}
}	

}
9、输入一行字符串,然后将每个单词的首字母变为大写

查看代码
package java_works;

import java.util.Scanner;

public class java_10009 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str ;
	str = sc.nextLine();
	daxie(str);
}
public static void daxie(String s){
	String a[] = s.split(" ");
	for(int i=0;i<a.length;i++)
	{
		String s1=a[i].substring(0,1).toUpperCase()+a[i].substring(1);
		System.out.print(s1+" ");
	}
}

}
10、从键盘输入一行字符串,请在单词间做逆序调整。举例:“cat loves dog”逆序成“dog loves cat”。

查看代码
package java_works;

import java.util.Scanner;

public class Java_10010 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str;
	str = sc.nextLine();
	nixu(str);
}
public static void nixu(String s) {
	String[] a = s.split(" ");
	String temp = "";
	for (int i = 0; i < a.length/2; i++) {
		temp = a[i];
		a[i] = a[a.length-1-i];
		a[a.length-1-i] = temp;
	}
	for(int i=0;i<a.length;i++){
		System.out.print(a[i]+" ");
	}
	
}

}
11、间隔符规范化。输入一行字符串,该字符串使用空格作为单词、符号等之间的间隔符。然而由于用户操作的问题,在录入间隔符时,可能输入了多个空格,现要求对输入的字符串进行处理,清除字符串的首尾空格,并且确保字符串中的间隔符只能有一个空格

查看代码
package java_works;

import java.util.Scanner;

public class java_10011 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str = sc.nextLine();
	guiFanhua(str);
}
public static void guiFanhua(String s) {
	s=s.trim();                      //去除字符串首尾空格字符
	StringBuffer sb = new StringBuffer();
	int flag;
	for(int i=0;i<s.length();i++)
	{
		flag = 0;
		if(s.charAt(i)!=' ')
			sb.append(s.charAt(i));
		else {
			flag = 1;
		}try {
			if(s.charAt(i)==' '&&s.charAt(i+1)!=' ') {
				sb.append(' ');
			}
		}catch(Exception e) {
			continue;
		}
	}
	System.out.println(sb);
}

}
12、输入M和N,然后计算一个球从M米高度自由下落,每次落地后反跳回原高度的一半,再落下,再反弹。计算它在第N次落地时共经过多少米?第N次落地时反弹多高

查看代码
package java_works;

import java.util.Scanner;

public class java_10012 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int M = sc.nextInt();
	int N = sc.nextInt();
	Solve(M,N);
}
public static void Solve(int a,int b) {
	double L = 0.0,H = 0.0;
	for(int i=1;i<b;i++)
	{
		L=L+a/(Math.pow(2, i-1));
	}
	H=a/(Math.pow(2,b));
	System.out.printf("%.5f\n",L+a);
	System.out.printf("%.5f",H);
}

}
13、输入正整数N,用1,2,3,…,N数字给N个学生编号,N个学生围成一圈。然后从第1个人开始报数(从 1 到 5 报数),凡报到 5的人退出圈子,问最后留下的是原来第几号的那位?

查看代码
package java_works;

import java.util.Scanner;

public class java_10013 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	Solves(N);
}
public static void Solves(int a) {
	int[] b = new int[a];
	for(int i=0;i<a;i++)
	{
		b[i]=i+1;
	}
	int currentNum = 1;
	int count = b.length;
	for(int i=0;;i++)
	{
		if(count==1) {
			break;
		}
		if(i>=b.length) {
			i=0;
		}
		if(b[i]==0) {
			continue;
		}
		if(currentNum % 5 == 0) {
			count--;
			b[i]=0;
		}
		if(currentNum == 5) {
			currentNum = 1;
		}
		else {
			currentNum++;
		}
	}
	for(int i=0;i<b.length;i++)
	{
		if(b[i]!=0) {
			System.out.println(b[i]);
		}
	}
}

}
14、输入某年某月某日,输出这一天是这一年的第几天。要特别注意闰年的判断,并且处理好闰年的情况输入一行字符串,统计并输出字符串中每个字符出现的次数

查看代码
package java_works;

import java.util.Scanner;

import java.util.GregorianCalendar;

public class java_10014 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int year = 0,month = 0, day = 0;
	year = sc.nextInt();
	month = sc.nextInt();
	day = sc.nextInt();
	Solves(year,month,day);
}
public static void Solves(int n,int y,int r) {
	GregorianCalendar gre = new GregorianCalendar();//判断是否为闰年的方法
	boolean isLeapYear = gre.isLeapYear(n);//返回值是true,说明是润年,若返回值是false,则不是闰年
	int ap = isLeapYear?29:28;//判断2月份的天数
	int days=0;
	switch(y) {
	case 1:
		days=r;
		break;
	case 2:
		days=31+r;
		break;
	case 3:
		days=31+ap+r;
		break;
	case 4:
		days=31+ap+31+r;
		break;
	case 5:
		days=31+ap+31+30+r;
		break;
	case 6:
		days=31+ap+31+30+31+r;
		break;
	case 7:
		days=31+ap+31+30+31+30+r;
		break;
	case 8:
		days=31+ap+31+30+31+30+31+r;
		break;
	case 9:
		days=31+ap+31+30+31+30+31+31+r;
		break;
	case 10:
		days=31+ap+31+30+31+30+31+31+30+r;
		break;
	case 11:
		days=31+ap+31+30+31+30+31+31+30+31+r;
		default:
			days=31+ap+31+30+31+30+31+31+30+31+30+r;
	}
	System.out.println(days);
}

}
15、输入一行字符串,统计并输出字符串中每个字符出现的次数

查看代码
package java_works;

import java.util.Iterator;

import java.util.Scanner;

import java.util.TreeMap;

import java.util.Set;

public class java_10015 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str = sc.nextLine();
	char[] ch = str.toCharArray();
	method(ch);
	int blank = 0;
	for(int i=0;i<ch.length;i++)
	{
		if(ch[i]==' ')
			blank++;
	}
	System.out.println("空格:"+blank);
}
public static void method(char[] array) {
	//初始化一个长度为26的整型数组,初始值全为0,记录字符串中各个字符出现的次数
	int[] temp = new int[26];
	for(int i=0;i<temp.length;i++)
	{
		temp[i]=0;
	}
	//遍历字符数组,将其值对应的ASCII值作为整型数组下标
	for(int i=0;i<array.length;i++)
	{
		if(array[i]>='a'&&array[i]<='z')
		{
			temp[array[i]-'a']++;
		}
	}
	//打印输出每个小写英文字母及出现的次数
	for(int i=0;i<temp.length;i++)
	{
		System.out.println((char)(i+'a')+":"+temp[i]);
	}
}

}
16、输入一行字符串,输出最先出现重复的字符

查看代码
package java_works;

import java.util.Scanner;

public class java_10016 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str = sc.nextLine();
	getFirstIndex(str);
}
public static void getFirstIndex(String s) {
	String[] a = s.split("");
	for(int i=0;i<a.length;i++) {
		int num = 0;
		int index = 0;
		while(index<=i) {
			if(a[index].equals(a[i])) {
				num++;
			}
			index++;
		}
		if(num>1) {
			System.out.println(a[i]);
			break;
		}
	}
	
}

}
17、输入一个正整数N,对它进行质因数分解并输出结果。例如:输入 90,打印出 90=233*5

查看代码
package java_works;

import java.util.Scanner;

public class java_10017 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	Solve(N);
}
public static void Solve(int a) {
	System.out.print(a+"=");
	for(int i=2;i<a+1;i++) {
		while(a%i==0&&a!=i) {
			a/=i;
			System.out.print(i+"*");
		}
		if(a==i) {
			System.out.println(i);
			break;
		}
	}
}

}
18、输入一个正整数N,输出[1, N]之间的“完数”。“完数”就是如果这个数恰好等于它的因子之和,则这个数就称为"完数",例如6=1+2+3

查看代码
package java_works;

import java.util.Scanner;

public class java_10018 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = sc.nextInt();
	Solve(N);
}
public static void Solve(int a) {
	
	for(int i=1;i<a;i++)
	{
		int sum = 0;
		for(int j=1;j<=i/2;j++)
		{
			if(i % j == 0)
			{
				sum+=j;
			}
		}
		if(sum == i)
		{
			System.out.print(i+" ");
		}
		
	}
	
}

}
19、输入一行字符串,按照规格压缩,输出压缩后的字符串。压缩规格为:相同字符连续,则压缩为“字符+数字个数”,如"iamaaaaaAbcCCdD压缩为"iama5AbcC2dD"。

查看代码
package java_works;

import java.util.Scanner;

public class java_10019 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str = sc.nextLine();
	compressStr(str);
}
public static void compressStr(String s) {
	StringBuilder sb = new StringBuilder();
	int count = 1;
	char c1=s.charAt(0);
	for(int i=1;i<s.length();i++)
	{
		char c2 = s.charAt(i);
		if(c1 == c2) {
			count++;
			continue;
		}
		if(count>1) {
			sb.append(c1).append(count);
		}else {
			sb.append(c1);
		}
		c1 = c2;
		count = 1;
	}
	if(count >1) {
		sb.append(c1).append(count);
	}else {
		sb.append(c1);
	}
	System.out.println(sb.toString());
}

}
20、指令分割。输入正整数N,然后输入N行字符串,每一行字符串为一条指令。

查看代码
package java_works;

import java.util.Scanner;

public class java_10020 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = -1;
	N = Integer.parseInt(sc.nextLine());
	String[] a = new String[N];
	for(int i=0;i<N;i++)
	{
		a[i] = sc.nextLine().replace(" ","");
	}
	sc.close();
	String[] singleArr = {"printi","jg","jl","je","jne","jmp"};
	String[] doubleArr = {"mov","add","sub","mul","div","cmp"};
	for(int i=0;i<N;i++) {
		int flag = 0;
		for(String tmp:singleArr)
		{
			if(a[i].indexOf(":"+tmp)>0)
			{
				flag = 1;
				String[] tmpStrArr = a[i].split(":"+tmp);
				System.out.println("LineNo="+tmpStrArr[0]);
				System.out.println("OP="+tmp);
				System.out.println("N1="+tmpStrArr[1]);
			}
		}
		if(flag == 0){
			for(String tmp:doubleArr)
			{
				if(a[i].indexOf(":"+tmp)>0) {
					flag = 2;
					String[] tmpStrArr = a[i].split(":"+tmp);
					System.out.println("LineNo="+tmpStrArr[0]);
					System.out.println("OP="+tmp);
					System.out.println("N1="+tmpStrArr[1].split(",")[0]);
					System.out.println("N2="+tmpStrArr[1].split(",")[1]);
				}
			}
		}
		if(flag == 0)
			return;
	}
}

}
21、二进制指令序列解码成字符串源代码。输入一行字符串,输入的字符串为二进制指令序列的16进制形式字符串

22、抱歉,忘记写了,题目也给忘了,索性摆烂。。。

23、输入正整数N,然后输入N*N个正整数按一行一行的顺序排列成N行N列的矩阵,要求对矩阵按垂直方向翻转,并输出结果

查看代码
import java.util.Scanner;

public class java_10023 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int[][] a = new int[N][N];
	for(int i = 0;i < N; i++)
		for(int j = 0;j < N;j++)
		{
			a[i][j] = sc.nextInt();
		}
	//实现垂直翻转矩阵
	for(int i = N - 1;i > -1;i--)
	{
		for(int j = 0;j < N;j++)
		{
			System.out.print(a[i][j]+" ");
		}
		System.out.println();
	}
		
}

}
24、老式手机健盘上有1, 2, …, 8, 9, 0键,其中每个键都代表多个字母,且0代表空格。输入一行只含字母和空格的字符串,将字符串转为成手机键盘按键序号,并输出结果

查看代码
import java.util.Scanner;

public class java_10024 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String sentence = sc.nextLine();
	char[] a = sentence.toCharArray();
	for(int i = 0;i < a.length;i++)
	{
		if(a[i] >= 97 && a[i] <= 99)
			a[i] = '2';
		else if(a[i] >= 100 && a[i] <= 102)
			a[i] = '3';
		else if(a[i] >= 103 && a[i] <= 105)
			a[i] = '4';
		else if(a[i] >= 106 && a[i] <= 108)
			a[i] = '5';
		else if(a[i] >= 109 && a[i] <= 111)
			a[i] = '6';
		else if(a[i] >= 112 && a[i] <= 115)
			a[i] = '7';
		else if(a[i] >= 116 && a[i] <= 118)
			a[i] = '8';
		else if(a[i] >= 119 && a[i] <= 122)
			a[i] = '9';
		else if(a[i] == 32)
			a[i] = '0';
		System.out.print(a[i]);
	}
}

}
25、输入一个正整数N,然后输入一个[2, 16]之间的数K,请把N转化为K进制的数,并输出结果

查看代码
import java.util.Scanner;

public class java_10025 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int K = sc.nextInt();
	if(K < 2 || K > 16)
		return;
	//实现任意进制之间的相互转换
	String s = Integer.toString(N,K);
	System.out.println(s.toUpperCase());
}

}
26、用散列表(哈希表)建立城市名主健与电话号码区号的映射,

查看代码
import java.util.HashMap;

import java.util.Scanner;

public class java_10026 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	HashMap<String,String> code = new HashMap<String,String>();
	Scanner sc = new Scanner(System.in);
	int N = Integer.parseInt(sc.nextLine());
	//将城市名主键和电话号码区号建立映射存储在哈希表中
	for(int i = 0;i < N;i++)
	{
		String tempStr = sc.nextLine();
		String tempStrArr[] = tempStr.split(" ");
		code.put(tempStrArr[0], tempStrArr[1]);
	}
	int IN = Integer.parseInt(sc.nextLine());
	String[] cityKey = new String[IN];
	for(int i = 0;i < IN;i++)
	{
		String tempStr = sc.nextLine();
		cityKey[i] = tempStr;
	}
	sc.close();
	for(int i = 0;i < IN;i++)
	{
		System.out.println(cityKey[i] + " " + code.get(cityKey[i]));
	}
}

}
27、请你定义一个类Student,表示学生,并实现相应的功能

查看代码
import java.util.*;

import java.io.*;

public class java_10027 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	class Student{
		String Name;//姓名
		Double NGrade;//平时成绩
		Double EGrade;//考试成绩
		public Student(String Name,Double NGrade,Double EGrade){
			super();
			this.Name = Name;
			this.NGrade = NGrade;
			this.EGrade = EGrade;
		}
		
		public Student() {
			// TODO Auto-generated constructor stub
		}

		public String getName() {
			return this.Name;
		}
		public void setName(String Name) {
			this.Name = Name;
		}
		public Double getNGrade() {
			return NGrade;
		}
		public void setNGrade(Double NGrade) {
			this.NGrade = NGrade;
		}
		public double sumGrade(Student s) {
			return this.NGrade * 0.3 + this.EGrade * 0.7;
		}
		public boolean CompareTS(Student s) {
			 Double in = this.sumGrade();
		        Double out = s.sumGrade();
		        if (in > out)
		            return true;
		        else if (in == out)
		            return true;
		        else
		            return false;
		}
		private Double sumGrade() {
			// TODO Auto-generated method stub
			return null;
		}

		public void ToString(Student s) {
			System.out.printf("姓名:"+s.Name+"\n平时成绩:"+s.NGrade+"\n考试成绩:"+s.EGrade+"\n总成绩:"+sumGrade(s)+"\n");
		}
	}
	
}

}
28、哎呀,题目又没写。。。

查看代码
import java.io.*;

import java.util.*;

class Complex{
double real;
double image;
public Complex(double real,double image) {
this.real = real;
this.image = image;
}
public Complex(Complex c) {
this.real = c.real;
this.image = c.image;
}
public double getReal() {
return real;
}
public double getImage() {
return image;
}
public void setReal(double real) {
this.real = real;
}
public void setImage(double image) {
this.image = image;
}
public String toString() {
return “(” + String.format(“%.5f”, real) + “)” + “+” + “(” + String.format(“%.5f”, image) + “)” + “i”;
}
public Complex add(Complex c) {
return new Complex( this.real + c.real, this.image + c.image );
}
public Complex sub(Complex c) {
return new Complex( this.real - c.real, this.image - c.image );
}
public Complex multiply( Complex C ) {
double newa = this.real * C.real - this.image * C.image; // 新建一个 实部
double newb = this.real * C.image + this.image * C.real; // 新建一个 虚部
return new Complex( newa, newb );
}
public Complex exp( ) {
return new Complex( Math.exp(this.real) * Math.cos(this.image),
Math.exp(this.real) * Math.sin(this.image) );
}
public double abs( ) {
return Math.sqrt( this.real * this.real + this.image * this.image );
}
}
29、Rectangle实体类

查看代码
import java.io.*;

import java.util.*;

class Rect {
Double x;//X坐标
Double y;//Y坐标
Double L;//矩形长
Double W;//矩形宽度
public Rect(Double x,Double y,Double l,Double w) {
this.x = x;
this.y = y;
this.L = l;
this.W = w;
}
public Rect(Rect r) {
// TODO Auto-generated constructor stub
this.x = r.x;
this.y = r.y;
this.L = r.L;
this.W = r.W;
}
public Double getX() {
return this.x;
}
public void setX(Double x) {
this.x = x;
}
public Double getY() {
return this.y;
}
public void setY(Double y) {
this.y = y;
}
public Double getL() {
return this.L;
}
public void setL(Double l) {
this.L = l;
}
public Double getW() {
return this.W;
}
public void setW(Double w) {
this.W = w;
}
public Double Area() {
return L * W;
}
public int CompareArea(Rect r) {
Double a = this.Area();
Double b = r.Area();
if(a > b)
return 1;
else if(a == b)
return 0;
else
return -1;
}
public String toString() {
return (String.format(“x:%.5f”,x) +“\n” + String.format(“y:%.5f”, y) + “\n” + String.format(“L:%.5f”, L)+ “\n” + String.format(“W:%.5f”, W) +“\n” + String.format(“面积:%.5f”, this.Area()));
}
}
30、请你定义一个类Circle,表示圆。要求实现相应的功能

查看代码
public class java_10030 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	/* 构造函数参数按顺序为:x, y, r */
	Circle rc1 = new Circle(10.01, 20.0, 30.0);
	Circle rc2 = new Circle(rc1);

	System.out.println(String.valueOf(rc1.getX()));
	System.out.println(String.valueOf(rc1.getY()));
	System.out.println(String.valueOf(rc1.getR()));

	rc2.setX(40.66);
	rc2.setY(58.18);
	rc2.setR(28.98);

	/* 比较面积,如果rc2面积更大则输出1, 相等输出0,否则输出-1; */
	System.out.println(String.valueOf(rc2.CompareCS(rc1)));
	
	/* 比较周长,如果rc2周长更长则输出1, 相等输出0,否则输出-1; */
	System.out.println(String.valueOf(rc2.CompareCL(rc1)));
	System.out.println(String.valueOf(rc2.toString()));
}

}
31、。。。

import java.io.*;

import java.util.*;

class CUser {
String userName;
String passWord;
public CUser(String u,String p) {
this.userName = u;
this.passWord = p;
}
public String getUserName() {
return this.userName;
}
public void setUserName(String u) {
this.userName = u;
}
public String getPassWord() {
return this.passWord;
}
public void setPassWord(String p) {
this.passWord = p;
}
public String Login(String InUserName,String InPassWord) {
if(userName.equals(InUserName) && passWord.equals(InPassWord))
return “登录成功”;
else
return “登陆失败”;
}
}
32、。。。

查看代码
import java.io.*;

import java.util.*;

interface IReadBook {
void ReadBook();
}
class CBauStu implements IReadBook{
public void ReadBook() {
System.out.println(“本科生读教材”);
}
}
class CGduStu implements IReadBook{
public void ReadBook() {
System.out.println(“硕士生读中文学术期刊”);
}
}
class CDocStu implements IReadBook{
public void ReadBook() {
System.out.println(“博士生读外文学术期刊”);
}
}
33、直接看代码吧

查看代码
import java.io.*;

import java.util.*;

interface ICry{
void Cry();
}
class CFrog implements ICry{
public void Cry() {
System.out.println(“青蛙哇哇叫”);
}
}
class CDog implements ICry{
public void Cry() {
System.out.println(“小狗汪汪叫”);
}
}
class CCat implements ICry{
public void Cry() {
System.out.println(“小猫喵喵叫”);
}
}
34、

查看代码
public class java_10034 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Integer[] li = new Integer[] {100, 20, 32, 196, 85};
	 Integer iv = CommonFun.getMax(li);   //返回iv值为196  
	 System.out.println(iv);
	  
	 Double[] ld = new Double[] {51.0, 10.6, 165.2, 12.0, 82.0};
	 Double dv = CommonFun.getMax(ld);   //返回dv值为165.2 
	 System.out.println(dv);
}

}
35、

import java.util.Scanner;

public class java_10035 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	String[][] Student = new String[N][6];
	for(int i = 0;i < N;i++)
	{
		int sum =0;
		for(int j = 0;j < 4;j++)
		{
			Student[i][j] = sc.next();
		}
		sum = Integer.parseInt(Student[i][1]) + Integer.parseInt(Student[i][2]) + Integer.parseInt(Student[i][3]);
		Student[i][4] = "" + sum;
		Student[i][5] = "" + i;
	}
	//排序
	for(int i = 0;i < N -1;i++)
	{
		for(int j = N -1;j > i;j--)
		{
			if(Integer.parseInt(Student[i][4]) < Integer.parseInt(Student[j][4]))
			{
				String[] tempArr = Student[i];
				Student[i] = Student[j];
				Student[j] = tempArr;
			}else if(Integer.parseInt(Student[i][4]) == Integer.parseInt(Student[j][4]))
			{
				if(Integer.parseInt(Student[i][5]) > Integer.parseInt(Student[j][5]))
				{
					String[] tempArr = Student[i];
					Student[i] = Student[j];
					Student[j] = tempArr;
				}
			}
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < 5;j++)
		{
			System.out.print(Student[i][j] + " ");
		}
		System.out.println();
	}
}

}
36、

import java.util.Scanner;

public class java_10036 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	String[][] Student = new String[N][6];
	for(int i = 0;i < N;i++)
	{
		int sum =0;
		for(int j = 0;j < 4;j++)
		{
			Student[i][j] = sc.next();
		}
		sum = Integer.parseInt(Student[i][1]) + Integer.parseInt(Student[i][2]) + Integer.parseInt(Student[i][3]);
		Student[i][4] = "" + sum;
		Student[i][5] = "" + i;
	}
	//排序
	for(int i = 0;i < N -1;i++)
	{
		for(int j = N -1;j > i;j--)
		{
			if(Integer.parseInt(Student[i][4]) < Integer.parseInt(Student[j][4]))
			{
				String[] tempArr = Student[i];
				Student[i] = Student[j];
				Student[j] = tempArr;
			}else if(Integer.parseInt(Student[i][4]) == Integer.parseInt(Student[j][4]))
			{
				if(Integer.parseInt(Student[i][1]) < Integer.parseInt(Student[j][1]))
				{
					String[] tempArr = Student[i];
					Student[i] = Student[j];
					Student[j] = tempArr;
				}else if(Integer.parseInt(Student[i][1]) == Integer.parseInt(Student[j][1])) {
					if(Integer.parseInt(Student[i][5]) > Integer.parseInt(Student[j][5]))
					{
						String[] tempArr = Student[i];
						Student[i] = Student[j];
						Student[j] = tempArr;
					}
				}
			}
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < 5;j++)
		{
			System.out.print(Student[i][j] + " ");
		}
		System.out.println();
	}
}

}
37、

import java.util.Scanner;

public class java_10037 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	String[][] Student = new String[N][6];
	for(int i = 0;i < N;i++)
	{
		int sum =0;
		for(int j = 0;j < 4;j++)
		{
			Student[i][j] = sc.next();
		}
		sum = Integer.parseInt(Student[i][1]) + Integer.parseInt(Student[i][2]) + Integer.parseInt(Student[i][3]);
		Student[i][4] = "" + sum;
		Student[i][5] = "" + i;
	}
	//排序
	for(int i = 0;i < N -1;i++)
	{
		for(int j = N -1;j > i;j--)
		{
			if(Integer.parseInt(Student[i][4]) < Integer.parseInt(Student[j][4]))
			{
				String[] tempArr = Student[i];
				Student[i] = Student[j];
				Student[j] = tempArr;
			}else if(Integer.parseInt(Student[i][4]) == Integer.parseInt(Student[j][4]))
			{
				if(Integer.parseInt(Student[i][1]) < Integer.parseInt(Student[j][1]))
				{
					String[] tempArr = Student[i];
					Student[i] = Student[j];
					Student[j] = tempArr;
				}else if(Integer.parseInt(Student[i][1]) == Integer.parseInt(Student[j][1])) {
					if(Integer.parseInt(Student[i][2]) < Integer.parseInt(Student[j][2]))
					{
						String[] tempArr = Student[i];
						Student[i] = Student[j];
						Student[j] = tempArr;
					}else if(Integer.parseInt(Student[i][2]) == Integer.parseInt(Student[j][2]))
						if(Integer.parseInt(Student[i][5]) > Integer.parseInt(Student[j][5]))
						{
							String[] tempArr = Student[i];
							Student[i] = Student[j];
							Student[j] = tempArr;
						}
				}
			}
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < 5;j++)
		{
			System.out.print(Student[i][j] + " ");
		}
		System.out.println();
	}
}

}
38、

import java.util.Scanner;

public class java_10038 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	String[][] Student = new String[N][6];
	for(int i = 0;i < N;i++)
	{
		int sum =0;
		for(int j = 0;j < 4;j++)
		{
			Student[i][j] = sc.next();
		}
		sum = Integer.parseInt(Student[i][1]) + Integer.parseInt(Student[i][2]) + Integer.parseInt(Student[i][3]);
		Student[i][4] = "" + sum;
		Student[i][5] = "" + i;
	}
	//排序
	for(int i = 0;i < N -1;i++)
	{
		for(int j = N -1;j > i;j--)
		{
			if(Integer.parseInt(Student[i][4]) < Integer.parseInt(Student[j][4]))
			{
				String[] tempArr = Student[i];
				Student[i] = Student[j];
				Student[j] = tempArr;
			}else if(Integer.parseInt(Student[i][4]) == Integer.parseInt(Student[j][4]))
			{
				if(Integer.parseInt(Student[i][1]) < Integer.parseInt(Student[j][1]))
				{
					String[] tempArr = Student[i];
					Student[i] = Student[j];
					Student[j] = tempArr;
				}else if(Integer.parseInt(Student[i][1]) == Integer.parseInt(Student[j][1])) {
					if(Integer.parseInt(Student[i][2]) < Integer.parseInt(Student[j][2]))
					{
						String[] tempArr = Student[i];
						Student[i] = Student[j];
						Student[j] = tempArr;
					}else if(Integer.parseInt(Student[i][2]) == Integer.parseInt(Student[j][2]))
						if(Student[i][0].compareTo(Student[j][0]) > 0)
						{
							String[] tempArr = Student[i];
							Student[i] = Student[j];
							Student[j] = tempArr;
						}
				}
			}
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < 5;j++)
		{
			System.out.print(Student[i][j] + " ");
		}
		System.out.println();
	}
}

}
39、

import java.io.*;

import java.util.Scanner;

public class java_10039 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	String str = sc.nextLine();
	int flag = -1 , i = 0;
	char[] ch = str.toCharArray();
	while(i < str.length()/2)
	{
		if(ch[i] != ch[str.length() -1 -i])
		{
			flag = 0;
			break;
		}
		i++;
	}
	if(flag ==-1)
	{
		flag = 1;
	}
	System.out.println(flag);
}

}
40、

import java.util.Scanner;

public class java_10040 {
public String longStr(String s)
{
if(s.length() < 2)
return s;
int max_len = 1;
int start = 0;
//dp[i][j]表示s[i][j]是否是回文串
boolean[][] dp = new boolean[s.length()][s.length()];
//初始化,所有长度为1的字串都是回文串
for(int i = 0;i < s.length();i++)
{
dp[i][i] = true;
}
char[] charArr = s.toCharArray();
//递推开始
//先枚举字串长度
for(int l = 2;l <= s.length();l++)
{
//枚举左边界
for(int i = 0;i < s.length();i++)
{
int j = l + i - 1;
//如果右边越界,则退出循环
if(j >= s.length())
break;
if(charArr[i] != charArr[j]) {
dp[i][j] = false;
}
else {
if(j - i < 3) {
dp[i][j] = true;
}
else {
dp[i][j] = dp[i + 1][j - 1];
}
}
//只要dp[j][k] == true成立,就表示子串s[i][j]是回文
if(dp[i][j] && j - i + 1 > max_len) {
max_len = j - i + 1;
start = i;
}
}
}
return s.substring(start,start + max_len);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
java_10040 solution = new java_10040();
System.out.println(solution.longStr(str));
}
}
41、输入正整数N和K,然后输入N个浮点数,要求输出它们中第K大的数

查看代码
import java.util.Scanner;

public class java_10041 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int K = sc.nextInt();
	Double Temp;
	Double[] Arr = new Double[N];
	for(int i = 0; i < Arr.length;i++)
	{
		Arr[i] = sc.nextDouble();
	}
	//利用冒泡排序法对数组进行排序
	for(int i = 0;i < Arr.length - 1 ;i++)
	{
		for(int j = 0;j <Arr.length - i - 1;j++)
		{
			if(Arr[j] < Arr[j + 1])
			{
				Temp = Arr[j];
				Arr[j] = Arr[j + 1];
				Arr[j + 1] = Temp;
			}
		}
	}
	System.out.printf("%.5f",Arr[K-1]);
}

}
42、输入正整数N,然后输入N个浮点数组成的向量A,再输入N个浮点数组成的向量B,要求计算并输出A+B。

查看代码
import java.util.Scanner;

public class java_10042 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	Double[] A = new Double[N];
	Double[] B = new Double[N];
	for(int i = 0; i < N;i++)
	{
		A[i] = sc.nextDouble();
	}
	for(int i = 0; i < N;i++)
	{
		B[i] = A[i] + sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		System.out.print(String.format("%.5f" + " ", B[i]));
	}
}

}
43、输入正整数N,然后输入N个浮点数组成的向量A,再输入N个浮点数组成的向量B,要求计算并输出A-B。

查看代码
import java.util.Scanner;

public class java_10043 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	Double[] A = new Double[N];
	Double[] B = new Double[N];
	for(int i = 0; i < N;i++)
	{
		A[i] = sc.nextDouble();
	}
	for(int i = 0; i < N;i++)
	{
		B[i] = A[i] - sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		System.out.print(String.format("%.5f" + " ", B[i]));
	}
}

}
44、输入正整数N,然后输入N个浮点数组成的向量A,再输入N个浮点数组成的向量B,要求计算并输出向量A和B之间的欧氏距离

查看代码
import java.util.Scanner;

public class java_10044 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	Double[] A = new Double[N];
	Double[] B = new Double[N];
	Double sum = 0.0;
	for(int i = 0;i < N;i++)
	{
		A[i] = sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		 B[i]= sc.nextDouble();
		sum += Math.pow(A[i] - B[i] , 2);
	}
	sum = Math.sqrt(sum);
	System.out.println(String.format("%.5f",sum));
}

}
45、输入正整数N和K,然后输入一个由N个浮点数组成的向量A,再输入K个同样维度的向量,要求在K个向量中找出与向量A的欧氏距离最小的向量,并输出找到的向量与向量A的欧氏距离

查看代码
import java.util.Scanner;

public class java_10045 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int K = sc.nextInt();
	Double[] A = new Double[N];
	
	for(int i = 0;i < A.length;i++)
	{
		A[i] = sc.nextDouble();
	}
	Double[][] B = new Double[K][N];
	for(int i = 0;i < B.length;i++)
	{
		for(int j = 0;j < B[i].length;j++)
		{
			B[i][j] = sc.nextDouble();
		}
	}
	//求欧氏距离
	
	Double[] V = new Double[K];
	for(int i = 0;i < K;i++)
	{
		double value = 0;
		for(int j = 0;j < N;j++)
		{
			value += Math.pow(A[j] - B[i][j],2);
		}
		V[i] = Math.sqrt(value);
	}
	//寻找与向量A的欧氏距离最小的向量
	double minValue = V[0];
	for(int i = 1 ;i < V.length;i++)
	{
		if(V[i] < minValue)
			minValue = V[i];
	}
	System.out.printf("%.5f",minValue);
}

}
46、输入正整数N和K,然后输入K个向量,其中每个向量由N个浮点数组成。现要求在K个向量中找出欧氏距离最小的两个向量,并输出找到的这两个向量之间的欧氏距离

查看代码
import java.util.Scanner;

public class java_10046 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int K = sc.nextInt();
	double sum = 0.0;
	double minSum = Double.MAX_VALUE;
	int minI = -1;
	int minJ = -1;
	Double[][] data= new Double[K][N];
	for(int i = 0;i < K;i++)
	{
		for(int j = 0 ;j < N;j++)
		{
			data[i][j] = sc.nextDouble();
		}
	}
	for(int i = 0 ;i < K;i++)
	{
		for(int j = i + 1;j < K;j++)
		{
			sum = 0.0;
			for(int m = 0;m < N;m++)
			{
				sum = sum + Math.pow(data[i][m] - data[j][m],2);
			}
			sum = Math.sqrt(sum);
			if(sum < minSum)
			{
				minSum = sum;
				minI =i;
				minJ = j;
			}
		}
	}
	System.out.format("%.5f",minSum);
}

}
47、。。。

48、。。。

import java.util.Scanner;

public class java_10048 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	Double[] M = new Double[N];
	Double[] A = new Double[N];
	Double[] B = new Double[N];
	Double[] R = new Double[N];
	for(int i = 0;i < N;i++)
	{
		M[i] = sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		A[i] = sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		B[i] = sc.nextDouble();
	}
	for(int i = 0;i < N;i++)
	{
		if(M[i] < 0.5)
		{
			R[i] = A[i];
		}
		else
		{
			R[i] = B[i];
		}
	}
	for(int i = 0;i < N;i++)
	{
		System.out.format("%.5f" + " ", R[i]);
	}
}

}
49、。。。

import java.util.Scanner;

public class java_10049 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int N1 = sc.nextInt();
		int C1 = sc.nextInt();
		int N2 = sc.nextInt();
		int C2 = sc.nextInt();
		Double[][] A = new Double[N1][C1];
		Double[][] B = new Double[N2][C2];
		for(int i = 0;i < N1;i++)
		{
			for(int j = 0;j < C1;j++)
			{
				A[i][j] = sc.nextDouble();
			}
		}
		for(int i = 0;i < N2;i++)
		{
			for(int j = 0;j < C2;j++)
			{
				B[i][j] = sc.nextDouble();
			}
		}
		for(int i = 0;i < N1;i++)
		{
			for(int j = 0;j < C2;j++)
			{
				Double sum = 0.0;
				for(int k = 0;k < C1;k++)
				{
					sum = sum + A[i][k]*B[k][j];
				}
				System.out.format("%.5f" + " ", sum);
			}
			System.out.println();
		}
	}

}

50、51、没写啊哈哈哈哈哈哈

52、。。。

import java.util.Scanner;

public class java_10052 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int C = sc.nextInt();
	Double[][] M = new Double[N][C];
	Double[][] A = new Double[N][C];
	Double[][] B = new Double[N][C];
	Double[][] R = new Double[N][C];
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < C;j++)
		{
			M[i][j] = sc.nextDouble();
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < C;j++)
		{
			A[i][j] = sc.nextDouble();
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < C;j++)
		{
			B[i][j] = sc.nextDouble();
		}
	}
	
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < C;j++)
		{
			if(M[i][j] < 0.5)
			{
				R[i][j] = A[i][j];
			}
			else
			{
				R[i][j] = B[i][j];
			}
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < C;j++)
		{
			System.out.format("%.5f" + " ", R[i][j]);
		}
		System.out.println();
	}
}

}
53、。。

import java.util.Scanner;

public class java_10053 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int[][] data = new int[N][N];
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < N;j++)
		{
			data[i][j] = sc.nextInt();
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = N - 1;j > -1;j--)
		{
			System.out.print(data[i][j] + " ");
		}
		System.out.println();
	}
}

}
54、。。。

import java.util.Scanner;

public class java_10054 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int[][] data = new int[N][N];
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < N;j++)
		{
			data[i][j] = sc.nextInt();
		}
	}
	for(int i = N - 1;i > -1;i--)
	{
		for(int j = N - 1;j > -1;j--)
		{
			System.out.print(data[j][i] + " ");
		}
		System.out.println();
	}
}

}
55、。。。

import java.util.Scanner;

public class java_10055 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int[][] data = new int[N][N];
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < N;j++)
		{
			data[i][j] = sc.nextInt();
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = N - 1;j > -1;j--)
		{
			System.out.print(data[j][i] + " ");
		}
		System.out.println();
	}
}

}
56、

import java.util.Scanner;

public class java_10055 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int N = sc.nextInt();
	int[][] data = new int[N][N];
	for(int i = 0;i < N;i++)
	{
		for(int j = 0;j < N;j++)
		{
			data[i][j] = sc.nextInt();
		}
	}
	for(int i = 0;i < N;i++)
	{
		for(int j = N - 1;j > -1;j--)
		{
			System.out.print(data[j][i] + " ");
		}
		System.out.println();
	}
}

}

58、

import java.util.Scanner;

public class java_10058 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	int count = 0;
	String str = sc.nextLine();
	for(int i = 0;i < str.length();i++)
	{
		if(count < 0)
			break;
		String temp = str.substring(i,i + 1);
		if(temp.equals("("))
			count ++;
		if(temp.equals(")"))
			count --;
	}
	if(count == 0)
		System.out.println(1);
	else
		System.out.println(0);
}

}
59、

import java.util.Scanner;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

public class java_10059 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	@SuppressWarnings("resource")
	Scanner sc=new Scanner(System.in);
	String str=sc.nextLine();
	BigDecimal result=cal(str);
	System.out.format("%.5f\n",result);
}
public static BigDecimal cal(String str)
{
	List<String> list=new ArrayList<>();
	char[] arr=str.toCharArray();
	StringBuffer sb=new StringBuffer();
	for(char c:arr)
	{
		if(c>='0'&&c<='9') {
			sb.append(c);
		}else if(c=='.')
		{
			if(sb.indexOf(".")>0)
			{
				throw new RuntimeException("非法字符");
			}
			sb.append(c);
		}
		else if(c=='+'||c=='-'||c=='*'||c=='/'||c=='('||c==')') {
			if(sb.length()>0)
			{
				list.add(sb.toString());
				sb.setLength(0);
			}
			list.add(c+"");
		}
		else if(c==' ')
		{
			continue;
		}else {
			throw new RuntimeException("非法字符");
		}
	}
	if(sb.length()>0)
	{
		list.add(sb.toString());
	}
	List<String> strList =new ArrayList<>();
	Stack<String> stack=new Stack<>();
	String temp;
	for(String s:list)
	{
		if(s.equals("("))
		{
			stack.push(s);
		}
		else if(s.equals(")")) {
			while(!(temp=stack.pop()).equals("("))
			{
				strList.add(temp);
			}
		}
		else if (s.equals("*")||s.equals("/")) {
			while(!stack.isEmpty()) {
				temp=stack.peek();
				if(temp.equals("*")||temp.equals("/"))
				{
					stack.pop();
					strList.add(temp);
				}else {
					break;
				}
			}
			stack.push(s);
		}else if(s.equals("+")||s.equals("-"))
		{
			while(!stack.isEmpty()) {
				temp=stack.peek();
				if(!temp.equals("("))
				{
					stack.pop();
					strList.add(temp);
				}else {
					break;
				}
			}
			stack.push(s);
		}
		else {
			strList.add(s);
		}
	}
	while(!stack.isEmpty()) {
		strList.add(stack.pop());
	}
	Stack<BigDecimal>newStack=new Stack<>();
	for(String s:strList)
	{
		if(s.equals("+")||s.equals("-")||s.equals("*")||s.equals("/")) {
			BigDecimal b1=newStack.pop();
			BigDecimal b2=newStack.pop();
			switch(s){
				case "+":
				    newStack.push(b2.add(b1));
				    break;
				case "-":
					newStack.push(b2.subtract(b1));
					break;
				case "*":
					newStack.push(b2.multiply(b1));
					break;
				case "/":
					newStack.push(b2.divide(b1,9,BigDecimal.ROUND_HALF_UP));
					break;
			}
		}
		else {
			newStack.push(new BigDecimal(s));
		}
	}
	return newStack.peek();
}

}
60、

import java.util.Scanner;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

public class java_10060{
public static void main(String[] args) throws Exception{
@SuppressWarnings(“resource”)
Scanner sc=new Scanner(System.in);
String str=sc.nextLine().replace(" “, “”);
BigDecimal result=cal(str);
System.out.format(”%.5f\n",result);
}
public static BigDecimal cal(String str)
{
List list=new ArrayList<>();
char[] arr=str.toCharArray();
StringBuffer sb=new StringBuffer();
for(char c:arr)
{
if(c>=‘0’&&c<=‘9’) {
sb.append©;
}else if(c==‘.’)
{
if(sb.indexOf(“.”)>0)
{
throw new RuntimeException(“非法字符”);
}
sb.append©;
}
else if(c==‘+’||c==‘-’||c=='‘||c==’/‘||c==’(‘||c==’)‘) {
if(sb.length()>0)
{
list.add(sb.toString());
sb.setLength(0);
}
list.add(c+“”);
}
else if(c==’ ')
{
continue;
}else {
throw new RuntimeException(“非法字符”);
}
}
if(sb.length()>0)
{
list.add(sb.toString());
}
List strList =new ArrayList<>();
Stack stack=new Stack<>();
String temp;
for(String s:list)
{
if(s.equals(“(”))
{
stack.push(s);
}
else if(s.equals(“)”)) {
while(!(temp=stack.pop()).equals(“(”))
{
strList.add(temp);
}
}
else if (s.equals("
“)||s.equals(”/“)) {
while(!stack.isEmpty()) {
temp=stack.peek();
if(temp.equals(”“)||temp.equals(”/“))
{
stack.pop();
strList.add(temp);
}else {
break;
}
}
stack.push(s);
}else if(s.equals(”+“)||s.equals(”-“))
{
while(!stack.isEmpty()) {
temp=stack.peek();
if(!temp.equals(”(“))
{
stack.pop();
strList.add(temp);
}else {
break;
}
}
stack.push(s);
}
else {
strList.add(s);
}
}
while(!stack.isEmpty()) {
strList.add(stack.pop());
}
StacknewStack=new Stack<>();
for(String s:strList)
{
if(s.equals(”+“)||s.equals(”-“)||s.equals(”
“)||s.equals(”/")) {
BigDecimal b1=newStack.pop();
BigDecimal b2=newStack.pop();
switch(s){
case “+”:
newStack.push(b2.add(b1));
break;
case “-”:
newStack.push(b2.subtract(b1));
break;
case “*”:
newStack.push(b2.multiply(b1));
break;
case “/”:
newStack.push(b2.divide(b1,9,BigDecimal.ROUND_HALF_UP));
break;
}
}
else {
newStack.push(new BigDecimal(s));
}
}
return newStack.peek();
}
}

猜你喜欢

转载自blog.csdn.net/weixin_43214644/article/details/124703280
今日推荐