机票价格按照淡季.旺季和头等舱和经济舱收费,输入机票原价.月份和头等舱或经济舱.
按照如下规则计算机票价格:旺季(5-10月)头等舱9折.经济舱8.5折;淡季(11月-来年4月)头等舱7折.经济舱6.5折
package test;
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
//机票价格按照淡季.旺季和头等舱和经济舱收费,输入机票原价.月份和头等舱或经济舱.
//按照如下规则计算机票价格:旺季(5-10月)头等舱9折.经济舱8.5折;淡季(11月-来年4月)头等舱7折.经济舱6.5折
Scanner sc = new Scanner(System.in);
System.out.println("请输入机票初始价格");
int primaryPrice = sc.nextInt();
System.out.println("请输入购买月份");
int month = sc.nextInt();
System.out.println("请输入机票等级:0头等舱.1经济舱");
int airTicket = sc.nextInt();
int lastPrice = 0;
if(month >= 5 && month <= 10){
lastPrice = getLastPrice(airTicket, primaryPrice,0.9,0.85);
}else{
lastPrice = getLastPrice(airTicket, primaryPrice,0.7,0.65);
}
System.out.println("最终机票价格为:"+lastPrice+"元");
}
public static int getLastPrice(int airTicket, int primaryPrice,double v1,double v2) {
int lastPrice;
if(airTicket == 0){
lastPrice = (int)(primaryPrice * v1);
}else{
lastPrice = (int)(primaryPrice * v2);
}
return lastPrice;
}
}
求101-100之间有多少质数,并打印所有质数
package test;
public class test2 {
public static void main(String[] args) {
int sum = 0;
for(int i = 101; i <= 200; i++){
if(number(i) != 0){
sum++;
System.out.print(i);
}
}
System.out.println();
System.out.println(sum);
}
public static int number(int num){
boolean flag = true;
for(int i = 2; i <100; i++){
if(num % i == 0){
flag = false;
return 0;
}
}
return num;
}
}
** 定义方法实现随机产生的5位验证码
验证码格式:1.长度为5 2.前四位是大写字母或者小写字母 3.最后一位是数字!!!**
package test;
import java.util.Random;
public class test3 {
public static void main(String[] args) {
String result = number();
System.out.println(result);
}
public static String number(){
//65-90.97-122
char[] chs = new char[52];
for (int i = 0; i < chs.length; i++) {
if(i <= 25){
chs[i] = (char)(97 + i);
}else{
chs[i] = (char)(65 + i - 26);
}
}
Random r = new Random();
String result = "";
for(int i = 0;i < 5; i++){
int randomIndex = r.nextInt(chs.length);
result = result + chs[randomIndex];
}
int number = r.nextInt(10);
result = result + number;
return result;
}
}
** 把一个数组中的元素复制到另一个新的数组中去**
package test;
public class test4 {
public static void main(String[] args) {
int[] arr1 = {11,22,33,44,55};
int[] arr2 = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
在唱歌比赛中,有6名评委给选手打分,分数范围[0-100]之间的整数.选手最后得分:去掉最高分.最低分后的4个评委的平均分.
//请完成上述过程并计算出选手的得分
package test;
import java.util.Scanner;
public class test5 {
public static void main(String[] args) {
//在唱歌比赛中,有6名评委给选手打分,分数范围[0-100]之间的整数.选手最后得分:去掉最高分\最低分后的4个评委的平均分.
//请完成上述过程并计算出选手的得分
int[] score = getInts();
int maxScore = score[1];
int minScore = score[1];
maxScore = getMaxScore(score, maxScore);
minScore = getMinScore(score, minScore);
int sum = getSum(score, maxScore, minScore);
int avg = sum / (score.length-2);
System.out.println(avg);
}
public static int getSum(int[] score, int maxScore, int minScore) {
int sum = 0;
for (int i = 0; i < score.length; i++) {
if(score[i] != maxScore && score[i] != minScore){
sum += score[i];
}
}
return sum;
}
public static int getMinScore(int[] score, int minScore) {
for (int i = 0; i < score.length; i++) {
if(score[i] < minScore){
minScore = score[i];
}
}
return minScore;
}
public static int getMaxScore(int[] score, int maxScore) {
for (int i = 0; i < score.length; i++) {
if(score[i] > maxScore) {
maxScore = score[i];
}
}
return maxScore;
}
public static int[] getInts() {
Scanner sc = new Scanner(System.in);
int[] score = new int[6];
for (int i = 0; i < score.length; ) {
System.out.println("请分别输入每位评委的分数:");
int scores = sc.nextInt();
if(scores >= 0 && scores <= 100){
score[i] = sc.nextInt();
i++;//要注意i的位置,只有输入数字符合条件才将其存入数组当中
}
}
return score;
}
}
某系统的数字密码(大于0),比如1983,财通加密方式进行传输
规则如下:每位数字加上5,再对10求余,最后将所有数字反转,得到一串新数
package test;
public class test6 {
public static void main(String[] args) {
//计算出数组的长度
int number = 12345;
int number2 = number;
int count = 0;
while(number != 0){
number2 /= 10;
count ++;
}
//用一个数组存储密码
int[] arr = new int[count];
int index = arr.length-1;
while(number != 0){
int ge = number % 10;
number /= 10;
arr[index] = ge;
index--;
}
//加密
for (int i = 0; i < arr.length; i++) {
arr[i] += 5;
}
for (int i = 0; i < arr.length; i++) {
arr[i] %= 10;
}
for (int i = 0,j = arr.length-1; i < arr.length; i++,j--) {//记住这种数组反转的方式!不要再用另一个数组啦!!!
int temp = arr[i];
arr[j] = arr[i];
arr[i] = temp;
}
int resultNumber = 0;
for (int i = 0; i < arr.length; i++) {
resultNumber *= 10;
resultNumber += arr[i];
}
System.out.println(resultNumber);
}
}
将加密后的数据解密出来
package test;
public class test7 {
public static void main(String[] args) {
//计算数组的长度
int number = 8346;
int length = 0;
int tempNumber = number;
while(tempNumber != 0){
tempNumber /= 10;
length ++;
}
//将其保存在数组当中+反转
int[] arr = new int[length];
for (int i = 0; i < arr.length; i++) {
arr[i] = number % 10;
number /= 10;
}
//计算取余10的反向操作,反向操作后最大为14最小为5
for (int i = 0; i < arr.length; i++) {
if(arr[i] + 10 <= 14 && arr[i] + 10 >= 5){
arr[i] +=10;
}
}
System.out.println();
//所有数字减5
for (int i = 0; i < arr.length; i++) {
arr[i] -=5;
}
//将数组内数字存入int变量
int resultNumber = 0;
for (int i = 0; i < arr.length; i++) {
resultNumber = resultNumber * 10 +arr[i];
}
System.out.println(resultNumber);
}
}
一个大V直播抽奖,奖品是现金红包,分别有{2,588,888,1000,10000}五个奖金.请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复(无方法)
package test;
import java.util.Random;
public class test8 {
public static void main(String[] args) {
//将数据存入数组
int[] bonus = {2,588,888,1000,10000};
//用随机数抽取奖励,抽过的变为0,跳过
Random r = new Random();
for (int i = 0; i < bonus.length;) {
int number = r.nextInt(bonus.length);
if(bonus[number] != 0){
System.out.println(bonus[number] + "元奖金被抽出");
bonus[number] = 0;
i++;
}
}
}
}
** 双色球系统**
package test;
import java.util.Random;
import java.util.Scanner;
public class test9 {
public static void main(String[] args) {
//随机生成中奖号码
int[] number = new int[7];
getNumber(number);
//用户输入中奖号码
int[] userNumber = new int[7];
System.out.println("请输入7位中奖号码");
Scanner sc = new Scanner(System.in);
for (int i = 0; i < userNumber.length; i++) {
userNumber[i] = sc.nextInt();
}
//判断中奖情况
int prize = getPrize(number,userNumber);
System.out.println(prize);
}
public static int getPrize(int[] number,int[] userNumber){
int prize = 0;
int redBallNum = 0;
int blueBallNum = 0;
for (int i = 0; i < userNumber.length-1; i++) {
for (int i1 = 0; i1 < number.length-1; i1++) {
if(userNumber[i] == number[i1]){
redBallNum ++;
}
}
}
if(userNumber[userNumber.length-1] == number[number.length-1]){
blueBallNum ++;
}
if(redBallNum == 6 && blueBallNum == 1){
return 10000000;
}else if(redBallNum == 6 && blueBallNum == 0){
return 5000000;
}else if(redBallNum == 5 && blueBallNum == 1){
return 3000;
}else if((redBallNum == 5 && blueBallNum == 0) || (redBallNum == 4 && blueBallNum == 1)){
return 200;
}else if((redBallNum == 4 && blueBallNum == 0) || (redBallNum == 3 && blueBallNum == 1)){
return 10;
}else if((redBallNum == 2 && blueBallNum == 1) || (redBallNum == 1 && blueBallNum == 1) || (redBallNum == 0 && blueBallNum == 1)){
return 5;
}else{
return 0;
}
}
public static void getNumber(int[] number){
Random r = new Random();
for (int i = 0; i < number.length; i++) {
if(i < number.length-1){
number[i] = r.nextInt(33) + 1;
}else{
number[i] = r.nextInt(16) + 1;
}
//System.out.println(number[i]);
}
}
}
某商城每个季度的营业额如下:单位(万元)
第一季度22,66,44.第二季度77,33,88.第三季度25,45,65第四季度11,66,99,计算出每个季度的总营业额和全年总营业额.
package test;
public class test10 {
public static void main(String[] args) {
int[][] money = {{22,66,44},//建议将每个一维数组单独写一行
{77,33,88},
{25,44,65},
{11,66,99}
};
int sum = 0;
int[] everyMoney = new int[4];
for (int i = 0; i < money.length; i++) {
for (int i1 = 0; i1 < money[i].length; i1++) {
everyMoney[i] += money[i][i1];
sum += money[i][i1];
}
}
for (int i = 0; i < everyMoney.length; i++) {
System.out.println(everyMoney[i]);
}
System.out.println(sum);
}
}