作业(10/1-10/3)

来源:互联网 发布:同花顺软件开发怎么样 编辑:程序博客网 时间:2024/05/19 05:04
/*1.考试成绩已经保存在数组scores中,依次为 89,23,64,91,119,52,73,-23
  要求根据通过自定义方法来找出其中前三名,将数组成绩作为参数传入
  要求判断成绩的有效性(0-100),如果成绩无效,则忽略此成绩.
 */
public class One {

public static void main(String[] args) {

int [] scores={ 89,23,64,91,119,52,73,-23};
One find=new One();
find.FindScores(scores);
}
public void FindScores(int []arr){
for(int i = 0;i<arr.length;i++){
for(int j=1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
int temp1=0; //计数器
for(int i=0;i<arr.length;i++){
if(arr[i]>=0 && arr[i]<=100 && temp1<3){
temp1++;
System.out.println(arr[i]);
}else{
i++;
}
}
}

}


/*2. 用数组来实现, 定义并初始化一个(1--100)保存100个数的数组,从第一个元素开始,依次数(1,2,3 循环往复),
 * 每次数到到3的元素淘汰掉.当到达数组尾的时候再从头开始,直到最后剩余一个元素,写出算法,并输出最后保留的元
 * 素所在的最初的位置.
*/
public class Test2 {
static void Arr(int[] num){
for(int i=0;i<num.length;i++){
num[i]=i+1;
}
}
static void methods(int[] num){
int a=0;//计数器
int s=0;//被淘汰数的位置
int i=0;//下标
int loop=0;//每次循环的数字
while(a!=100){
if(num[i] !=0){
if(loop==2){
num[i]=0;
a++;
s=i;
loop=0;
}
else{
loop++;
}
}
i++;
if(i==100){
i=0;
}
}
System.out.println("最终淘汰的元素的下标为"+s);
}
public static void main(String[]args){
int[] num=new int[100];
Arr(num);
methods(num);
}


}


/*3. 用数组来实现对于一个整形数组, 分别通过冒泡排序和 快速排序,
 * 实现对于任意一个数组进行由小到大的排列。
 * */
public class Test3 {
public static void main (String[] args){
int[] array ={63,43,25,67,98,24};//创建一个乱序数组
Test3 sorter = new Test3();//创建冒泡排序类的对象
sorter.sort(array);//调用排序方法将数组排序

}
public void sort(int[]array){
for(int i =1;i<array.length;i++){
//比较相邻两个元素,较大的数往后冒泡
for(int j = 0;j<array.length;j++){
if(array[j]>array[i]){
int temp=array[j];
array[j]=array[i];
array[i]=temp;
}
}
}
showArray(array);//输出冒泡排序后的数组元素

}
public void showArray(int[]array){
for(int i :array){//遍历数组
System.out.print("<"+i);
}
System.out.println();
}
}


/*4.判断101-200之间有多少个素数,并输出所有素数
 *  */


public class Test4{
public static void main(String[]args){
int num=0;
for(int i=101;i<200;i++){
for(int j=2;j<i;j++){
int m=i%j;
if(j == i-1){
++num;
System.out.print(i+"");
}else if(m==0){
break;
}
}
}
System.out.println();
System.out.println("101到200之间的素数共有"+num+"个");
}
}


/*5.题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

 * 
 * */


import java.util.*;
public class Test5 {
public static void main(String[]args){
int abcCount=0;
int spaceCount=0;
int numCount=0;
int otherCount=0;
Scanner scan=new Scanner(System.in);
System.out.println("请输入任意字符串:");
String str=scan.nextLine();
char[] ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
abcCount++;//判断是否为字母
}
else if(Character.isDigit(ch[i])){
numCount++;//判断是否为数字
}
else if(Character.isSpaceChar(ch[i])){
spaceCount++;//判断是否为空格
}
else{
otherCount++;//以上都不是则是其他字符
}
}
System.out.println("字母个数:"+abcCount);
System.out.println("数字个数:"+numCount);
System.out.println("空格个数:"+spaceCount);
System.out.println("其他字符个数:"+otherCount);
}
}


/*6.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,
 * 低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,
 * 高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,
        高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,
        求应发放奖金总数? 
 * */
import java.util.Scanner;
public class Test6 {
public static void main(String[] args){
double push=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入利润:");
double profit=sc.nextDouble();
if(profit>0){
if(profit<=100000){
push=profit*0.1;
}else if(profit>100000&&profit<=200000){
push=(profit-100000)*0.075+10000;
}else if(profit>200000&&profit<=400000){
push=(profit-200000)*0.05+10000+75000;
}else if(profit>400000&&profit<=600000){
push=(profit-400000)*0.03+10000+75000+10000;
}else if(profit>600000&&profit<=1000000){
push=(profit-600000)*0.015+10000+75000+10000+6000;
}else{
push=(profit-1000000)*0.01+10000+75000+10000+6000+6000;
}
}
System.out.println("应发奖金总数为:"+push);
}
}


/*7.分别定义用户类,订单类,产品类,其中订单类至少要具有下订单的行为(入参为一个产品名称),
  产品类中至少有一个成员变量为产品名称,至少有一个方法用来获取产品的名称。
  用户类中持有一个产品类型的成员变量。
  用户类中持有一个订单类型的成员变量。
  
  在我们的用户类中定义main函数,当执行的时候,构造一个用户类的对象,
  并且通过手段可以拿到产品成员变量中的产品名称,并且调用成员变量订单的对象,进行下单。
  最后输出下单成功。
  
 * */
import java.util.Scanner;
public class Test7 {
Product product=new Product();
Oder oder=new Oder();

public static void main(String[]args){
Test7 test7=new Test7();
test7.product.getInputName();
test7.oder.getOder();
}


}
class Product{
String productName;
public String getInputName(){
Scanner sc=new Scanner(System.in);
System.out.println("输入商品名称:");
productName=sc.next();
return productName;
}
}
class Oder{
String oderName;
void getOder(){
System.out.println("下单成功");
}
}