第一次写关于Java的博客,主要是为了自己复习使用,首先放第一道练习题;
7-1 一个整数各个位上的最大数字 (30 分)
编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字。
输入格式:
输入一个整数N
输出格式:
输出该整数N各个位上的最大数字
输入样例:
在这里给出一组输入。例如:
59274
输出样例:
在这里给出相应的输出。例如:
9
//package Main; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sn = new Scanner(System.in); int N = sn.nextInt();//输入整数,要先创建一个sn 使用nextInt读入 //System.out.println("woshirule: " + N);//println输出后换行,print输出后不换行 int maxn = -1; if(N == 0)maxn = 0; else while(N!=0){ int k = N%10; if(k > maxn)maxn = k; N /= 10; } System.out.println(maxn); sn.close(); } }
首先在写这个代码的时候自己还没用过pta进行Java代码的的提交。Java的提交要把package注释掉,而且要只用一个public + main
7-2 十进制转二进制 (20 分)
编写代码,要求:输入参数是一个正整数,输出该整数所对应的二进制数对应的字符串。
输入格式:
正整数
输出格式:
输入的正整数对应的二进制字符串“1001”
输入样例:
在这里给出一组输入。例如:
9
输出样例:
在这里给出相应的输出。例如:
1001
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sn = new Scanner(System.in); int n = sn.nextInt(); int[] a = new int[200]; int i = 0; if(n == 0)System.out.print("0"); else { while(n != 0&&i < 200) {//注意要控制i,i会一直运行到200 if(n%2 == 0) a[i] = (int)0; else a[i] = (int)1; i+=1; n /= 2; } for(int k = i-1;k >= 0;k--) System.out.print(a[k]); } } }
7-3 判断回文 (20 分)
编码实现:输入一个字符串,判断该字符串是否是回文(回文是指将该字符串含有的字符逆序排列后得到的字符串和原字符串相同的字符串)如果是回文,则输出“Yes”;否则输出“No”。
输入格式:
判定是否是回文的字符串
输出格式:
“Yes”或者“No”
输入样例:
在这里给出一组输入。例如:
TooooT
输出样例:
在这里给出相应的输出。例如:
Yes
import java.util.Scanner;//注意引入库 import java.util.*; public class Main{ public static void main(String[] args) { Scanner sn = new Scanner(System.in); String[] s = new String[300];//读入一个字符数组 String ss = sn.next(); int r = 0,l = ss.length()-1; if(l == 0) System.out.println("Yes"); else { boolean flag = true;//定义flag while(r < l) { //System.out.println(r); //System.out.println(l); if(ss.charAt(r) == ss.charAt(l)) {//使用字符数组 r++;l--; } else { flag = false; break; } } if(!flag) System.out.println("No"); else System.out.println("Yes"); } } }