Java&PPT练习题2

产生1-100之间的随机数
提示Math. random()方法产生的是0.0-1.0的Double值。如果需要int整型就需要强制转换。

//@author ycf

import java.util.*;

public class HelloWorld { 
    public static void main(String[] args) { 

        for(int i=0;i<100;i++){
            System.out.println((int)(Math.random()*100+1));
        }
    }
}

字符串的转换

//@author ycf

import java.util.*;

public class HelloWorld { 
    public static void main(String[] args) { 
        String s ="hellojava" ;
        String c ="HELLOJAVA";
        System. out. println(s.length());   //打印字符长度,不包含结束字符"\0";  
        System. out. println(s.charAt(3));//指定打印字符串的某个字符;
        System. out. println(s.toUpperCase());//如果是有小写字母的字符串会将其全部变成大写字母输出;
        System. out. println(c.toLowerCase());//同上,反之;
        System. out. println(s.trim());//去掉两边空白字符打印出来;
        System. out. println(s.concat(c));//连接作用,将s字符串和c字符串连接起来;
        System.out.println("code by ycf"); 
    }
}

定义或者输入一个同时包含大小写字母的字符串,将大写字母转成小写,将小写字母转成大写

//@author ycf

import java.util.*;

public class HelloWorld { 
    public static void main(String[] args) { 
        String b="";//空串
        String s="AaBbCc";
        for(int i=0;i<s.length();i++){
            char c=s.charAt(i);
            if(Character.isUpperCase(c)){
                b+= Character.toLowerCase(c);
            }else if(Character.isLowerCase(c)){
                b+= Character.toUpperCase(c);
            }else{
                b+=c;
            }
            //System.out.println(b);           
        }
        System.out.println(b);
        System.out.println("code by ycf"); 
    }
}

字符串和数字间的转换

//@author ycf

import java.util.*;

public class HelloWorld { 
    public static void main(String[] args) { 
        String s="AaBbCc";
        int n=Integer. parseInt("123");
        Double d=Double. parseDouble("123.4");     
        //将数值型的字符串转化为数字
        //这里涉及到一些封装。例如int的封装是integer。   
        //封装(Encapsulation)是面向对象方法的关键原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
        System.out.println(n); 
        System.out.println(d); 
        //数字转字符串
        int i=100;
        String st=""+i;
        System.out.println(st); 
    }
}

读入一个字符串,统计其中小写字母的个数

//@author ycf

import java.util.*;
public class CountLower {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        String s = input.nextLine();
        int count = 0;
        for(int i = 0; i < s.length(); i ++) 
            if (Character.isLowerCase(s.charAt(i)))
                count ++;

        System.out.println("count=" + count);
    }
}

方法

public static int sum(int i1, int i2)
{
    int result = 0;
    for (int i = i1; i <= i2; i++)
        result += i;
    return result;
}//观察到返回值类型,如果没有返回值那就为public static void sum();如果方法中没有参数就不用在()里面填。

方法调用(在类中定义并且调用的)

public class Method
{
    public static int sum(int i1, int i2)
    {
        int result = 0;
        for (int i = i1; i <= i2; i++)
            result += i;
        return result;
    }
    public static void main(String[] args)
    {
        System.out.println("Sum from 1 to 10 is " + sum(1, 10));
        System.out.println("Sum from 20 to 30 is " + sum(20, 30));
        System.out.println("Sum from 35 to 45 is " + sum(35, 45));
    }
}//:
调用方法时,参数的个数、顺序和类型必须与定义一致;
方法的调用和定义顺序无关,上例中main可放在sum之前。

(在其他类里面调用)

public class MethodTest2 
{
    public static void main(String[] args) {
        System.out.println("Sum from 1 to 10 is " + SumM.sum(1, 10));
        System.out.println("Sum from 20 to 30 is " + SumM.sum(20, 30));
        System.out.println("Sum from 35 to 45 is " + SumM.sum(35, 45));
    }
}

class SumM
{
    public static int sum(int i1, int i2)
    {
        int result = 0;
        for (int i = i1; i <= i2; i++)
            result += i;
        return result;
    }
}//类似于Math. random();所以在起来类里面调用得写清楚前缀的类名。

void没有返回值就没有return,如果有return就是用来终止

public class TestVoidMethod {
    public static void main(String[] args) {
        System.out.print("The grade is ");
        printGrade(98.5);
        
        System.out.print("The grade is ");
        printGrade(36.5);
    }
  
    public static void printGrade(double score) {
        if (score >= 90.0) 
            System.out.println('A');
        else if (score >= 80.0) 
            System.out.println('B');
        else if (score >= 70.0) 
            System.out.println('C');
        else if (score >= 60.0) 
            System.out.println('D');
        else 
            System.out.println('F');
    }
}

十六进制转化为十进制
思路:一个十六进制数AB8C,我们输入“AB8C”这个字符串,将他每一位字符取出转化为对应的数字。

import java.util.*;

class Hex2Dec { 
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String hex = input.nextLine();
        System.out.println("The decimal value for decimal"+hex+"is"+hexToDecimal(hex.toUpperCase())) ;
                           
    }
    public static int hexToDecimal(String hex){
        int decimalValue=0;
        for(int i=0;i<hex.length();i++){
            char hexChar=hex.charAt(i);
            decimalValue=decimalValue*16+hexCharToDecimal(hexChar);
        }
        return decimalValue;
    }
    public static int hexCharToDecimal(char ch){
        if(ch>='A' && ch<='F'){
            return 10+ch-'A';
        }else{
            return ch-'0';
        }
    }
}

随机数的另一个方法
上限是10,产生的是0-10(不包含10)之间的数字。

import java.util.*;

public class HelloWorld { 
    public static void main(String[] args) {
        Random rand =new Random();
        int i;
        i=rand.nextInt(10);
        System.out.println(i); 
    }
}

通过ASCII码转化为对应的字符
65代表小写 起始a而97代表大写的起始A

import java.util.*;

class StringRandom{ 
    public static void main(String[] args) { 
        String val="";
        Random random=new Random();//创建对象
        int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
        val +=(char)(random.nextInt(26)+65);
        System.out.println(val); 
    }
}

输入一个整数n,然后生成一个长度为n的随机字符串(可用字符为52个英文字母和数字)

import java.util.Scanner;
import java.util.Random;
 
public class StringRandom {
 

	public String getStringRandom(int length) {
		
		String val = "";
		Random random = new Random();
		

		for(int i = 0; i < length; i++) {
			
			String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
		
			if( "char".equalsIgnoreCase(charOrNum) ) {
			
				int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
				val += (char)(random.nextInt(26) + temp);
			} else if( "num".equalsIgnoreCase(charOrNum) ) {
				val += String.valueOf(random.nextInt(10));
			}
		}
		return val;
	}
	
	public static void  main(String[] args) {
		StringRandom test = new StringRandom();
		//测试
		Scanner input = new Scanner(System.in);
		int n=input.nextInt();
		System.out.println(test.getStringRandom(n));
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值