import java.util.Scanner;
class queue {
int len;
int outnumber;
int innumber;
int staynumber=len-outnumber;
int Queue[]=new int[len];
int Innumber[]=new int[innumber];
int Outnumber[]=new int[outnumber];
public void queuelength() {
Scanner sc=new Scanner(System.in);
int len=sc.nextInt();
}
public void inqueue(){
for(int i=0;i<len;i++){
Scanner sc=new Scanner(System.in);
Queue[i]=sc.nextInt();
}
}
public void setOutnumber(){
System.out.print("out ");
Scanner sc=new Scanner(System.in);
outnumber=sc.nextInt();
}
public void setInnumber(){
System.out.print("in ");
Scanner sc=new Scanner(System.in);
for(int i=0;i<innumber;i++){
Innumber[i]= sc.nextInt();
}
}
public void changequeue(){
if(innumber>outnumber){len+=innumber=outnumber;}
for(int i=0;i<outnumber;i++)
Queue[i]=Queue[i+outnumber];
for(int i=staynumber;i<len;i++){
Queue[i]=Innumber[i-staynumber];
}
for(int i=0;i<outnumber;i++){
Outnumber[i]=Queue[i];
}
}
public void printqueue(){
System.out.print("len= "+len+",data= ");
for(int i=0;i<len;i++){
System.out.print(Queue[i]+" ");
}
System.out.print("\n");
System.out.print("len= "+outnumber+",data= ");
for(int i=0;i<=outnumber;i++){
System.out.print(Outnumber[i]+" ");
}
}
}
public class queuetest {
public static void main(String[] args) {
queue queue1 = new queue();
queue1.queuelength();
queue1.inqueue();
queue1.setOutnumber();
queue1.setInnumber();
queue1.changequeue();;
queue1.printqueue();;
}
}
import java.util.ArrayList;
import java.util.Scanner;
class Queue {
public ArrayList<Integer> list=new ArrayList<>();
public ArrayList<Integer> outList=new ArrayList<>();
public void inQueue(int i){
this.list.add(i);
}
public ArrayList outQueue(int len){
int outLen=this.list.size()<len?this.list.size():len;
for(int j=0;j<outLen;j++){
outList.add(list.get(j));
}
for(int j=outLen-1;j>=0;j--){
list.remove(j);
}
return outList;
}
}
public class Main {
public static void main(String[] args) {
Queue q=new Queue();
Scanner scan = new Scanner(System.in);
String line = scan.nextLine();
int len = Integer.parseInt(line);
String[] s = scan.nextLine().split(" ");
for (String str:s) {
q.inQueue(Integer.parseInt(str));
}
String line1 = scan.nextLine();
String line2 = scan.nextLine();
int outNum = 0;
ArrayList out=new ArrayList();
if(line1.startsWith("in")){
String[] ss = line1.split(" ");
for(int i=1;i<ss.length;i++){
q.inQueue(Integer.parseInt(ss[i]));
}
}else if(line1.startsWith("out")){
outNum= Integer.parseInt(line1.split(" ")[1]);
out=q.outQueue(outNum);
}
if(line2.startsWith("in")){
String[] ss = line2.split(" ");
for(int i=1;i<ss.length;i++){
q.inQueue(Integer.parseInt(ss[i]));
}
}else if(line2.startsWith("out")){
outNum= Integer.parseInt(line2.split(" ")[1]);
out=q.outQueue(outNum);
}
System.out.print("len = "+ q.list.size());
if(q.list.size()>0){
System.out.print(", data =");
for(int i : q.list){
System.out.print(" "+i);
}
}
System.out.println();
System.out.print("len = "+ out.size());
if (out.size()>0){
System.out.print(", data =");
for(int i=0;i<out.size();i++){
System.out.print(" "+out.get(i));
}
}
scan.close();
}
}
你好,如有帮助,请采纳!
import java.util.Scanner;
/**
* 计算器
* 写4个方法:加减乘除
* 利用循环加switch进行用户交互
* 传递需要操作的两个数
* 输出结果
*/
public class Demo04 {
public static double a;
public static double b;
//运算符
public static String operator;
//=符
public static String equal;
//结果
public static double sum=0;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入数字:");
a = scanner.nextDouble();
System.out.println("输入运算符:");
operator = scanner.next();
System.out.println("输入数字:");
b = scanner.nextDouble();
do {
switch (operator){
case "+":
sum= add(a, b);
System.out.println("输入=获取结果:");
equal = scanner.next();
coninue();
break;
case "-":
sum=subtract(a,b);
System.out.println("输入=获取结果:");
equal = scanner.next();
coninue();
break;
case "*":
sum=multiply(a,b);
System.out.println("输入=获取结果:");
equal = scanner.next();
coninue();
break;
case "/":
if (b==0){
System.out.println("被除数不能为0");
operator = "q";
break;
}else {
sum=divide(a,b);
System.out.println("输入=获取结果:");
equal = scanner.next();
coninue();
break;
}
default:
System.out.println("运算符输入错误!");
}
}while (operator.equals("+")||operator.equals("-")||operator.equals("*")||operator.equals("/"));
scanner.close();
}
//加
public static double add(double a,double b){
return a+b;
}
//减
public static double subtract(double a,double b){
return a-b;
}
//乘
public static double multiply(double a,double b){
return a*b;
}
//除
public static double divide(double a,double b){
return a/b;
}
//获得结果 或 再次输入
public static void coninue(){
Scanner scanner = new Scanner(System.in);
if (equal.equals("=")){
System.out.println(a+operator+b+"="+sum);
System.out.println("输入运算符+,-,*,/继续 或 输入其他字符结束");
operator=scanner.next();
if (operator.equals("+")||operator.equals("-")||operator.equals("*")||operator.equals("/")){
System.out.println("输入数字:");
b = scanner.nextDouble();
a=sum;
}else {
System.out.println("输入错误!");
}
}else {
System.out.println("输入错误!");
}
}
}
如有帮助,望采纳
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
float num=scanner.nextFloat();
float num1=scanner.nextFloat();
add(num1,num); //加
jian(num1,num); //减
cheng(num1,num);//乘
chu(num1,num);//除
}
// 加法
public static Object add(float num1,float num){
float result=(float) Math.round((num+num1)*10)/10;
System.out.println(result);
return result;
}
// 减法
public static Object jian(float num1,float num){
if (num1>num){
float temp =num;
num=num1;
num1=temp;
}
float result=(float) Math.round((num-num1)*10)/10;
System.out.println(result);
return result;
}
// 乘法
public static Object cheng(float num1,float num){
if (num1>num){
float temp =num;
num=num1;
num1=temp;
}
float result=(float) Math.round((num*num1)*10)/10;
System.out.println(result);
return result;
}
// 除法
public static Object chu(float num1,float num){
if (num1>num){
float temp =num;
num=num1;
num1=temp;
}
float result=(float) Math.round((num1/num)*10)/10;
System.out.println(result);
return result;
}
给个例子参考吧,基本功能是实现了,特殊情况没考虑,题主可以自己试试,有问题自行完善:
import java.util.ArrayList;
import java.util.Scanner;
class Queue {
private ArrayList<Integer> list;
public Queue(int len,String[] list){
this.list = new ArrayList<Integer>();
for(int i=0;i<len;i++){
this.list.add(Integer.parseInt(list[i]));
}
}
public void inQueue(int i){
this.list.add(i);
}
public int[] outQueue(int len){
int[] out = new int[this.list.size()<len?this.list.size():len];
for(int i=0;i<out.length;i++){
out[i] = this.list.get(i);
}
for(int i=out.length-1;i>=0;i--){
this.list.remove(i);
}
return out;
}
public int getLen(){
return this.list.size();
}
public ArrayList<Integer> getList(){
return this.list;
}
}
public class QueueTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String line = scan.nextLine();
int len = Integer.parseInt(line);
Queue q = new Queue(len, scan.nextLine().split(" "));
String line1 = scan.nextLine();
String line2 = scan.nextLine();
int outNum = 0;
if(line1.startsWith("in")){
String[] ss = line1.split(" ");
for(int i=1;i<ss.length;i++){
q.inQueue(Integer.parseInt(ss[i]));
}
}else if(line1.startsWith("out")){
outNum += Integer.parseInt(line1.split(" ")[1]);
}
if(line2.startsWith("in")){
String[] ss = line2.split(" ");
for(int i=1;i<ss.length;i++){
q.inQueue(Integer.parseInt(ss[i]));
}
}else if(line2.startsWith("out")){
outNum += Integer.parseInt(line2.split(" ")[1]);
}
int[] out = q.outQueue(outNum);
System.out.print("len = "+ q.getLen()+", data =");
for(int i : q.getList()){
System.out.print(" "+i);
}
System.out.println();
if(outNum>0){
System.out.print("len = "+ out.length+", data =");
for(int i=0;i<out.length;i++){
System.out.print(" "+out[i]);
}
}
scan.close();
}
}