产生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));
}
}