仅使用Stack类中的构造函数、push()、peek()、pop()、以及empty()等方法实现任意长度数组的逆序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅使用Stack类中的构造函数、push()、peek()、pop()、以及empty()等方法实现任意长度数组的逆序相关的知识,希望对你有一定的参考价值。

不能用数组下标的方法啊 急啊急!!!谢谢了!

参考技术A // stack.java
// demonstrates stacks
// to run this program: C>java StackApp
////////////////////////////////////////////////////////////////
class StackX

private int maxSize; // size of stack array
private long[] stackArray;
private int top; // top of stack
//--------------------------------------------------------------
public StackX(int s) // constructor

maxSize = s; // set array size
stackArray = new long[maxSize]; // create array
top = -1; // no items yet

//--------------------------------------------------------------
public void push(long j) // put item on top of stack

stackArray[++top] = j; // increment top, insert item

//--------------------------------------------------------------
public long pop() // take item from top of stack

return stackArray[top--]; // access item, decrement top

//--------------------------------------------------------------
public long peek() // peek at top of stack

return stackArray[top];

//--------------------------------------------------------------
public boolean isEmpty() // true if stack is empty

return (top == -1);

//--------------------------------------------------------------
public boolean isFull() // true if stack is full

return (top == maxSize-1);

public void tofun(long a,long b,long c,long d,long e,long f,long g,long h,long i,long k)

push(a);
push(b);
push(c);
push(d);
push(e);
push(f);
push(g);
push(h);
push(i);
push(k);


class StackApp

public static void main(String[] args)

StackX stackX=new StackX(10);
stackX.tofun(1,2,3,4,5,6,7,8,9,10);
while( !stackX.isEmpty() ) // until it's empty,
// delete item from stack
long value = stackX.pop();
System.out.print(value); // display it
System.out.print(" ");
// end while
System.out.println("");

本回答被提问者采纳
参考技术B 坐等答案好了~哈哈! 参考技术C 生物信息的?!

使用从构造函数传递到方法的类中的参数访问rest

【中文标题】使用从构造函数传递到方法的类中的参数访问rest【英文标题】:Accessing arguments from a class passed down from the constructor into a method using rest 【发布时间】:2022-01-18 06:02:25 【问题描述】:

我试图通过构造函数将每个参数传递到方法中,该方法反过来加密值。但是,该方法没有读取参数中的值。

请问,我做错了什么?

class Add 
    constructor(...words) 
        this.words = words;

    

print(words)
    words = [words];
    let output = "$"
console.log(words)
    for(let word of words)
        output += word +"$"
    
return output


    


var x = new Add("I", "Love","you");
var y = new Add("this", "is", "awesome");

x.print()
z.print()

【问题讨论】:

【参考方案1】:

您拼错了构造函数,并且如果您在构造函数内部为this 分配了某些内容,那么您还可以通过其他方法访问this 上的内容。

class Add 
  constructor(...words) 
    this.words = words;
  

  print() 
    let output = "$"
    for (let word of this.words) 
      output += word + "$"
    
    return output
  


var x = new Add("I", "Love", "you");
console.log(x.print())

【讨论】:

我在这里输入时实际上出错了。尽快编辑。

以上是关于仅使用Stack类中的构造函数、push()、peek()、pop()、以及empty()等方法实现任意长度数组的逆序的主要内容,如果未能解决你的问题,请参考以下文章

Java 构造函数(抽象类中的构造函数) 和 加载

如何仅用递归函数和栈操作逆序一个栈

特殊集合 Stack Queue Hashtable

Java Linked List Stack推送功能不更改数据

抽象类中的私有构造函数

在仅拿到头文件的情况下,如何修改类中的私有成员值?