任务1. 学习String类的常用方法
编写程序。要求从键盘输入一个字符串,输出该字符串的长度、第一个字符、最后一个字符、转换成大写字母输出。
【代码实现】
package homework;
import java.util.Scanner;
public class test_6_1 {
public static void main(String[] args) {
try (Scanner input = new Scanner(System.in)) {
//提示用户输入一个字符串
System.out.print("请输入一个小写字符串:");
String str = input.next();
//显示该字符串的长度和第一个字符
int length = str.length();
System.out.println("该字符串的长度为:"+ length);
char str1 = str.charAt(0);
System.out.println("该字符串的第一个字符为:"+str1);
char str2 = str.charAt(str.length()-1);
System.out.println("该字符串的最后一个字符为:"+str2);
String str3=str.toUpperCase();
System.out.println("该字符串的最后一字符转换为大写输出:"+str3);
}
}
}
【运行结果】
请输入一个小写字符串:abv 该字符串的长度为:3 该字符串的第一个字符为:a 该字符串的最后一个字符为:v 该字符串的最后一字符转换为大写输出:ABV
任务2. 十进制正整数转换成二进制字符串
编写一个方法,将十进制数转换为二进制数的字符串,方法签名如下:
public static String toBinary(int value)
[代码实现]
package homework;
import java.util.Scanner;
public class test_6_2 {
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
System.out.println("请输入一个十进制数:");
int number=sc.nextInt();
System.out.println("该数的二进制数值为:");
int sum;
String result="";
for (int i=number; i>=1; i=i/2) {
if (i % 2 == 0) {
sum=0;
}
else {
sum=1;
}
result=sum+result;
}
char[] charArray=result.toCharArray();
System.out.print(charArray);
}
}
}
【运行结果】
请输入一个十进制数: 10 该数的二进制数值为: 1010
写入方法如下代码:
【代码实现】
package homework;
import java.util.Scanner;
public class test_6_2_1 {
public static void main(String[] args){
String str;
try (Scanner in = new Scanner(System.in)) {
System.out.println("请输入一个十进制数:");
int value = in.nextInt();
str = toBinary(value);
}
System.out.println("十进制数转换成二进制字符串为:"+str);
}
public static String toBinary(int value){
String s = Integer.toBinaryString(value);
return s;
}
}
【运行结果】
请输入一个十进制数: 10 十进制数转换成二进制字符串为:1010
任务3. 学习格式化输出字符串
编写程序,从键盘输入圆的半径10,计算圆的面积并使用格式化输出的方式输出圆的面积,要求保留两位小数。输出结果如下:
半径为10的圆的面积是314.46
【代码实现】
package homework;
import java.util.Scanner;
public class test_6_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入半径:");
try (Scanner sc = new Scanner(System.in)) {
int r = sc.nextInt();
double pi=3.1415926;
double area=0,girth=0;
area = r*r*pi;//面积
girth = pi*r*2;//周长
System.out.println("半径为:"+r+"圆的面积为:"+String.format("%.2f", area));
System.out.println("半径为:"+r+"圆的周长为:"+String.format("%.2f", girth));
}
}
}
【运行结果】
请输入半径: 10 半径为:10圆的面积为:314.16 半径为:10圆的周长为:62.83
任务4. 字符串加密解密
(1)编写程序,实现简单的加密功能:从键盘上输入一个英文字符串(明文),程序运行将该字符串加密后输出(密文)。加密规则为,字符串中的每个字母都用它后面的第5个字母代替,其他字符不变,如A用F代替,a用f代替,对字母表后面的字母,如V用A代替、Z用E代替。
(2)编写解密程序,从键盘输入密文字符串,程序打印输出解密后的明文字符串。
加密:
【代码实现】
package homework;
import java.util.Scanner;
public class test_6_4_2 {
private static Scanner sc;
public static void main(String[] args)
{
System.out.println("请输入需要加密的文字:");
sc = new Scanner(System.in);
String str=sc.nextLine();
StringBuffer jiami=new StringBuffer();
//遍历每一个字符
for(int i=0;i='a'&&str.charAt(i)<='z')
{
jiami.append((char)('a'+(str.charAt(i)-'a'+5)%26));//小写字母用其后的第五个字母代替,字母个数一共为26个,对26取余进行循环
}
else if(str.charAt(i)>='A'&&str.charAt(i)<='Z')
{
jiami.append((char)('A'+(str.charAt(i)-'A'+5)%26));//大写字母用其后的第五个字母代替
}
}
else
{
jiami.append(str.charAt(i));//若不是英文字直接放入StringBuffer中,保持不变
}
}
System.out.println("加密后的文字为:");
System.out.println(jiami);
}
}
【运行结果】
请输入需要加密的文字: ABCDEFGEHIabcdefghi123456.. 加密后的文字为: FGHIJKLJMNfghijklmn123456..
解密:
【代码实现】
package homework;
import java.util.Scanner;
public class test_6_4_2_1 {
private static Scanner cs;
public static void main(String[] args)
{
System.out.println("请输入需要解密的文字:");
cs = new Scanner(System.in);
String st=cs.nextLine();
StringBuffer jiemi=new StringBuffer();
//遍历每一个字符
for(int i=0;i='a'&&st.charAt(i)<='e')
{
jiemi.append((char)('v'+(st.charAt(i)+5)%6));
}
else if(st.charAt(i)>='f'&&st.charAt(i)<='z')
{
jiemi.append((char)('a'+(st.charAt(i)-2)%20));
}
else if(st.charAt(i)>='A'&&st.charAt(i)<='E')
{
jiemi.append((char)('V'+(st.charAt(i)+1)%6));
}
else if(st.charAt(i)>='F'&&st.charAt(i)<='Z')
{
jiemi.append((char)('A'+(st.charAt(i)-10)%20));
}
}
else
{
jiemi.append(st.charAt(i));//若不是英文字直接放入StringBuffer中,保持不变
}
}
System.out.println("解密后的文字为:");
System.out.println(jiemi);
}
}
【运行结果】
请输入需要解密的文字: FGHIJKLJMNfghijklmn123456.. 解密后的文字为: ABCDEFGEHIabcdefghi123456..
任务5. 学习命令行参数的使用
输入下面程序,然后从命令行执行该程序。
public class CommandLineDemo{
public static void main(String [] args){
System.out.println("The command line has "+
args.length + " arguments");
for(int i =0;i < args.length ;i ++){
System.out.println("argument number "+ i +
":"+ args[i]);
}
}
}
若使用下列命令执行程序,程序输出结果如何?
java CommandLineDemo /D 1024 /f test.dat
【代码实现】
package homework;
public class test_6_5 {
public static void main(String [] args){
System.out.println("The command line has "+
args.length + " arguments");
for(int i =0;i < args.length ;i ++){
System.out.println("argument number "+ i +
":"+ args[i]);
}
}
}
【运行结果】
he command line has 0 arguments



