473,418 Members | 2,008 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,418 software developers and data experts.

deck class constructor

So I'm trying to work on this problem of deck of cards wherein I have a few classes along with a tester class. Everything else is done. I just need help with implementing the methods properly. Here's how the thing goes:

I'm given the classes Suit.java, PlayingCard.java, FaceCard.java, NumberCard.java, Deck.java, CardTest.java

Expand|Select|Wrap|Line Numbers
  1. //Suit.java
  2.  
  3. public class Suit {
  4.     private Suit() { super(); }
  5.     public final static Suit Clubs = new Suit();
  6.     public final static Suit Diamonds = new Suit();
  7.     public final static Suit Hearts = new Suit();
  8.     public final static Suit Spades = new Suit();
  9.     public String toString() {
  10.         if (this == Clubs) return "Clubs";
  11.         else if (this == Diamonds) return "Diamonds";
  12.         else if (this == Hearts) return "Hearts";
  13.         else if (this == Spades) return "Spades";
  14.         else throw new IllegalStateException();
  15.     }
  16. }
  17.  
  18. // PlayingCard.java
  19.  
  20. public abstract class PlayingCard {
  21.     private int myRank;
  22.     private Suit mySuit;
  23.  
  24.     public PlayingCard(int r, Suit s) {
  25.         if (r < 2 || r > 14 || s == null) {
  26.             throw new IllegalArgumentException();
  27.         }
  28.         this.myRank = r;
  29.         this.mySuit = s;
  30.     }
  31.  
  32.     public abstract String toString();
  33.  
  34.     public int getRank() {
  35.         return this.myRank;
  36.     }
  37.  
  38.     public Suit getSuit() {
  39.        return this.mySuit;
  40.     }
  41.  
  42.     public boolean equals(Object other) {
  43.         return this.getRank() == ((PlayingCard)other).getRank()
  44.             && this.getSuit() == ((PlayingCard)other).getSuit();
  45.     }
  46.  
  47. }
  48.  
  49. //FaceCard.java
  50.  
  51. public class FaceCard extends PlayingCard {
  52.  
  53.     public FaceCard(int r, Suit s) {
  54.         super(r, s);
  55.         if (r <= 10) {
  56.             throw new IllegalArgumentException();
  57.         }
  58.     }
  59.  
  60.     public String toString() {
  61.         return "" + "JQKA".charAt(this.getRank() - 11)
  62.             + this.getSuit().toString().charAt(0);
  63.     }
  64.  
  65. }
  66.  
  67. //NumberCard.java
  68.  
  69. public class NumberCard extends PlayingCard {
  70.  
  71.     public NumberCard(int r, Suit s) {
  72.         super(r, s);
  73.         if (r > 10) {
  74.             throw new IllegalArgumentException();
  75.         }
  76.     }
  77.  
  78.     public String toString() {
  79.         return "" + this.getRank() + this.getSuit().toString().charAt(0);
  80.     }
  81. }
  82.  
  83. //Deck.java
  84.  
  85. import java.util.NoSuchElementException;
  86. import java.util.Random;
  87. /**
  88.  * Class representing a deck of playing cards
  89.  *
  90.  * @author [[put your name here]]
  91.  */
  92. public class Deck {
  93.   private int count;            // how many cards are currently in this deck
  94.     private PlayingCard[] cards;  // the cards themselves
  95. /*...*/    private int SWAPS = 999999;
  96.     /**
  97.      * Constructor for Deck class -- the constructed deck will contain
  98.      * 52 cards:  all the clubs on top, followed by all the diamonds,
  99.      * followed by all the hearts, followed by all the spades.  Each
  100.      * suit is in order from the 2 to the ace, with the 2 on top.
  101.      * Thus, after construction, the top card is the 2 of clubs and
  102.      * the bottom card is the ace of spades.
  103.      */
  104.         public Deck() {
  105. /*...*/        String [] suits =    {"SPADES","DIAMONDS","CLUBS","HEARTS"}; 
  106.         /*...*/ for ( int suit = 0; suit <= 3; suit++ ) { 
  107.             /*....*/for ( int rank = 2; rank <= 14;rank++ ) {
  108. /*...*/             count = 0;
  109. /*...*/              cards [count] = abstract PlayingCard(rank,suit);
  110.                /*...*/count ++; 
  111. /*...*/            }
  112. /*...*/         }  
  113. /*...*/
  114.             count = 52;  
  115.  
  116.     }
  117.  
  118.     /**
  119.      * Shuffle the deck -- rearrange the cards in the deck into a
  120.      * random order.
  121.      */
  122.     public void shuffle() {
  123.         /*...*/  Random gen = new Random();
  124.       /*...*/PlayingCard temp;
  125.       /*...*/int position1, position2;
  126.  
  127.       /*...*/for (int i=1; i <= SWAPS; i++)
  128.    /*...*/   {
  129.    /*...*/      position1 = gen.nextInt(52);
  130.    /*...*/      position2 = gen.nextInt(52);
  131.  
  132.    /*...*/      temp = cards[position1];
  133.    /*...*/      cards[position1] = cards[position2];
  134.    /*...*/      cards[position2] = temp;
  135.    /*...*/   }
  136.  
  137.     }
  138.  
  139.     /**
  140.      * Report the number of cards left in the deck
  141.      */
  142.     public int getNumCardsLeft() {
  143.         /*...*/return count;
  144.     }
  145.  
  146.     /**    
  147.       * Report on which card is on top of the deck
  148.      * (the deck remains unchanged)
  149.      */
  150.     //public PlayingCard peekAtTopCard() {
  151.       //  ...
  152.     //}
  153.  
  154.     /**
  155.      * Remove the top card from the deck, and return the removed card
  156.      * (there is now one card fewer in the deck than before the call)
  157.  
  158.      */
  159.     public PlayingCard dealNextCard() {
  160.    /*...*/     if (count > 0){
  161.    /*...*/      return cards[--count];
  162.    /*...*/   } else {
  163.    /*...*/      return null;
  164.          }
  165.     }
  166. }
  167.     public class CardTest {
  168.     public static void main(String[] args) {
  169.         Deck d = new Deck();
  170.         System.out.println(d.getNumCardsLeft()+ " cards left in deck.");
  171.         for (int i = 0; i<4; i++) {
  172.             for (int j = 0; j<13; j++) {
  173.                 System.out.print(d.DealNextCard()+ " ");
  174.                 }
  175.                 System.out.println();
  176.             }
  177.             System.out.println(d.getNumCardsLeft() + "cards left in the deck.");
  178.         }
  179.     }
  180.  
  181.  
What I have to do is implement the methods shuffle, dealNextCard, peekAtTopCard, getNumCardsLeft and also the constructor. I have worked my way through shuffle, dealNextCard and numCardsLeft methods I guess. Now i don't understand how do I go about the constructor class. What i need is that the constructor must initialize the deck to contain exactly 52 cards,
13 cards in each of four suits (hearts, clubs, diamonds, spades). Each
suit has nine number cards, with rank values of 2–10, inclusive. The
remaining four cards in each suit are face cards: jack, queen, king,
and ace (having rank values of 11–14, respectively). Each suit must
be arranged in order, from 2 to ace (with the 2 on top and the ace
on the bottom). The suits are to be arranged as follows (from top to
bottom): clubs, diamonds, hearts, spades. Thus, the top card on the
deck will be the 2 of clubs, the bottom card the ace of spades.

I can add extra datafields if i wish to but i gotta initialise it in the constructor. and it should be declared private. The CardTest class works to check if the methods DealNextCard and getnumcardsleft is implemented properly.

the things beginning with /*....*/ in the constructor is my work. Also u can check the other methods which are also marke by the /*....*/ for the chnages i made, For time being i didn't implement the peekattop card method. When I use the code above, i get the following error:
Deck.java:25: PlayingCard is abstract; cannot be instantiated
cards [count] = new PlayingCard(rank,suit);
^
1 error

I hope whatever i wrote makes some sense and i get some help. Any kind of help would be appreciated
Thanks
May 4 '10 #1
21 3784
jkmyoung
2,057 Expert 2GB
1. Make PlayingCard not abstract.

2. Your constructor is
public NumberCard(int r, Suit s) {
so when you construct the deck, the 2nd argument should be a suit. Right now it is:
cards [count] = abstract PlayingCard(rank,suit);
I think you want:
cards [count] = abstract PlayingCard(rank,suits[suit]);

3. but you have to change the order of the suits.

4. Further, move the count initialization before the for loops, otherwise you'll always only be setting cards[0], and not the whole deck.
May 4 '10 #2
Ok so i did the changes u asked me to..it stilll shows me the following error:
Deck.java:26: illegal start of expression
cards [count] = abstract PlayingCard(rank,Suit[suits]);
^
1 error
the arrow is pointed at a of the abstract and the word cards comes before[count]

here's how my program looks like now

Expand|Select|Wrap|Line Numbers
  1.  public Deck() {
  2.         String [] suits = {"Clubs","Diamonds","Hearts","Spades"};
  3.          count = 0;
  4.  
  5.         for ( int suit = 0; suit <= 3; suit++ ) { 
  6.             for ( int rank = 2; rank <= 14;rank++ ) {
  7.                          cards [count] = abstract PlayingCard(rank,Suit[suits]);
  8.  
  9.  
  10.                count ++; 
  11.             }
  12.          }  
  13.  
  14.             count = 52;  
  15.  
  16.     }
  17.  
  18.  
I cant remove the abstract part because its a part of playing card class and m not supposed to make changes to that class.
May 5 '10 #3
I think the removing abstract part is done....but i have another issue. That construction part still doesnt work.

this is the error that shows
Deck.java:26: cannot find symbol
symbol : variable Suit
location: class Deck
cards [count] = PlayingCard( rank,Suit[suits]);
^
Deck.java:26: incompatible types
found : java.lang.String[]
required: int
cards [count] = PlayingCard( rank,Suit[suits]);
^
2 errors

cards [count] = PlayingCard( rank,Suit[suits]);

and this is the change i made. plzzz help!!!
May 5 '10 #4
jkmyoung
2,057 Expert 2GB
Sorry, I didn't notice a 2nd quick mistake with your suits declaration earlier: you want the actual Suit, not the strings.

Suit[] suits = {Suit.Clubs,Suit.Diamonds,Suit.Hearts,Suit.Spades}


"I think you want:
cards [count] = abstract PlayingCard(rank,suits[suit]);"
May 5 '10 #5
not working..if i write this " cards [count] = abstract PlayingCard( rank,suits[Suit]); "
this is the error:
Deck.java:29: illegal start of expression
cards [count] = abstract PlayingCard( rank,suits[Suit]);
^
1 error

if i remove the abstract, this is the error

Deck.java:24: incompatible types
found : java.lang.String
required: Suit
Suit[] suits = {"Clubs","Diamonds","Hearts","Spades"};
^
Deck.java:24: incompatible types
found : java.lang.String
required: Suit
Suit[] suits = {"Clubs","Diamonds","Hearts","Spades"};
^
Deck.java:24: incompatible types
found : java.lang.String
required: Suit
Suit[] suits = {"Clubs","Diamonds","Hearts","Spades"};
^
Deck.java:24: incompatible types
found : java.lang.String
required: Suit
Suit[] suits = {"Clubs","Diamonds","Hearts","Spades"};
^
Deck.java:29: cannot find symbol
symbol : variable Suit
location: class Deck
cards [count] = PlayingCard( rank,suits[Suit]);
^
Deck.java:29: cannot find symbol
symbol : method PlayingCard(int,Suit)
location: class Deck
cards [count] = PlayingCard( rank,suits[Suit]);
^
6 errors
May 5 '10 #6
jkmyoung
2,057 Expert 2GB
suits[suit] not suits[Suit].
suit, the integer. Is problematic that you've assigned a local variable pretty much the same name as the class.

You cannot assign to suits based on a string. The previous comment states Suit.Clubs, etc.. to get the actual class member that you've declared earlier.
May 5 '10 #7
that aint working either
i don't know whats the problem with this line :
Suit[] suits = (Clubs,Diamonds,Hearts,Spades);
This error shows up as ssoon as i write this:
Deck.java:24: ')' expected
Suit[] suits = (Clubs,Diamonds,Hearts,Spades);
^
Deck.java:24: ';' expected
Suit[] suits = (Clubs,Diamonds,Hearts,Spades);
^
2 errors
May 7 '10 #8
jkmyoung
2,057 Expert 2GB
Clubs, Diamonds, Hearts and Spades are all defined explicitly in the Suit class. The Deck class has no idea what these are; you need to reference them like
Suit.Clubs, etc.
I suggest a repost of that function after you make the change, just to see if there are any surrounding problems. Please use [ code ] tags [ / code] (the # sign).
May 7 '10 #9
I'm sorry but i have no idea how do we go about the reference part. If u could gimme a hint regarding that...
thanks
May 7 '10 #10
???

here's the whole program along with the realted classes

Expand|Select|Wrap|Line Numbers
  1.  
  2. //Suit.java
  3.  
  4. public class Suit {
  5.     private Suit() { super(); }
  6.     public final static Suit Clubs = new Suit();
  7.     public final static Suit Diamonds = new Suit();
  8.     public final static Suit Hearts = new Suit();
  9.     public final static Suit Spades = new Suit();
  10.     public String toString() {
  11.         if (this == Clubs) return "Clubs";
  12.         else if (this == Diamonds) return "Diamonds";
  13.         else if (this == Hearts) return "Hearts";
  14.         else if (this == Spades) return "Spades";
  15.         else throw new IllegalStateException();
  16.     }
  17. }
  18.  
  19. //FaceCard.java
  20.  
  21. public class FaceCard extends PlayingCard {
  22.  
  23.     public FaceCard(int r, Suit s) {
  24.         super(r, s);
  25.         if (r <= 10) {
  26.             throw new IllegalArgumentException();
  27.         }
  28.     }
  29.  
  30.     public String toString() {
  31.         return "" + "JQKA".charAt(this.getRank() - 11)
  32.             + this.getSuit().toString().charAt(0);
  33.     }
  34.  
  35. }
  36.  
  37. //NumberCard.java
  38.  
  39.     public class NumberCard extends PlayingCard {
  40.  
  41.         public NumberCard(int r, Suit s) {
  42.             super(r, s);
  43.             if (r > 10) {
  44.                 throw new IllegalArgumentException();
  45.             }
  46.         }
  47.  
  48.         public String toString() {
  49.             return "" + this.getRank() + this.getSuit().toString().charAt(0);
  50.         }
  51.     }
  52.  
  53.  
  54.  
  55. //PlayingCard.java
  56.  
  57. public abstract class PlayingCard {
  58.     private int myRank;
  59.     private Suit mySuit;
  60.  
  61.     public PlayingCard(int r, Suit s) {
  62.         if (r < 2 || r > 14 || s == null) {
  63.             throw new IllegalArgumentException();
  64.         }
  65.         this.myRank = r;
  66.         this.mySuit = s;
  67.     }
  68.  
  69.     public abstract String toString();
  70.  
  71.     public int getRank() {
  72.         return this.myRank;
  73.     }
  74.  
  75.     public Suit getSuit() {
  76.        return this.mySuit;
  77.     }
  78.  
  79.     public boolean equals(Object other) {
  80.         return this.getRank() == ((PlayingCard)other).getRank()
  81.             && this.getSuit() == ((PlayingCard)other).getSuit();
  82.     }
  83.  
  84. }
  85.  
  86.  
  87. //Deck.java
  88.  
  89. import java.util.NoSuchElementException;
  90. import java.util.Random;
  91. /**
  92.  * Class representing a deck of playing cards
  93.  *
  94.  * @author [[put your name here]]
  95.  */
  96. public class Deck {
  97.   private int count;            // how many cards are currently in this deck
  98.     private PlayingCard[] cards;  // the cards themselves
  99. /*...*/    private int SWAPS = 999999;
  100.     /**
  101.      * Constructor for Deck class -- the constructed deck will contain
  102.      * 52 cards:  all the clubs on top, followed by all the diamonds,
  103.      * followed by all the hearts, followed by all the spades.  Each
  104.      * suit is in order from the 2 to the ace, with the 2 on top.
  105.      * Thus, after construction, the top card is the 2 of clubs and
  106.      * the bottom card is the ace of spades.
  107.      */
  108.         public Deck() {
  109.          cards = new PlayingCard[52]; 
  110.      count = 0;
  111.  
  112.         Suit[] suits = Suit.Clubs();
  113.                 Suit[] suits = Suit.Diamonds();
  114.                         Suit[] suits = Suit.Hearts();
  115.                                 Suit[] suits = Suit.Spades();
  116.     //****     count = 0;
  117.  
  118.         for ( int suit = 0; suit <= 3; suit++ ) { 
  119.             for ( int rank = 2; rank <= 14;rank++ ) {
  120.                          cards [count] = PlayingCard( rank,suits[suit]);
  121.  
  122.  
  123.                count ++; 
  124.             }
  125.          }  
  126.  
  127.           // *** count = 52;  
  128.  
  129.     }
  130.  
  131.     /**
  132.      * Shuffle the deck -- rearrange the cards in the deck into a
  133.      * random order.
  134.      */
  135.     public void shuffle() {
  136.         /*...*/  Random gen = new Random();
  137.       /*...*/PlayingCard temp;
  138.       /*...*/int position1, position2;
  139.  
  140.       /*...*/for (int i=1; i <= SWAPS; i++)
  141.    /*...*/   {
  142.    /*...*/      position1 = gen.nextInt(52);
  143.    /*...*/      position2 = gen.nextInt(52);
  144.  
  145.    /*...*/      temp = cards[position1];
  146.    /*...*/      cards[position1] = cards[position2];
  147.    /*...*/      cards[position2] = temp;
  148.    /*...*/   }
  149.  
  150.     }
  151.  
  152.     /**
  153.      * Report the number of cards left in the deck
  154.      */
  155.     public int getNumCardsLeft() {
  156.         /*...*/return count;
  157.     }
  158.  
  159.     /**    
  160.       * Report on which card is on top of the deck
  161.      * (the deck remains unchanged)
  162.      */
  163.     //public PlayingCard peekAtTopCard() {
  164.       //  ...
  165.     //}
  166.  
  167.     /**
  168.      * Remove the top card from the deck, and return the removed card
  169.      * (there is now one card fewer in the deck than before the call)
  170.  
  171.      */
  172.     public PlayingCard dealNextCard() {
  173.    /*...*/     if (count > 0){
  174.    /*...*/      return cards[--count];
  175.    /*...*/   } else {
  176.    /*...*/      return null;
  177.          }
  178.     }
  179. }
  180.  
  181.  
I badly need help with this!!!
May 7 '10 #12
jkmyoung
2,057 Expert 2GB
Does your browser not move your window to the right spot?
Reread posts #2 and #5 again.
May 7 '10 #13
I'm really sorry but i actually get it now! But there's this error again!!

Deck.java:31: PlayingCard is abstract; cannot be instantiated
cards [count] = new PlayingCard( rank,suits[suit]);
^
1 error

here's d deck condtructor again!

Expand|Select|Wrap|Line Numbers
  1. public Deck() {
  2.          cards = new PlayingCard[52]; 
  3.      count = 0;
  4.  
  5.     Suit[] suits = {Suit.Clubs,Suit.Diamonds,Suit.Hearts,Suit.Spades};
  6.  
  7.  
  8.         //****     count = 0;
  9.  
  10.         for ( int suit = 0; suit <= 3; suit++ ) { 
  11.             for ( int rank = 2; rank <= 14;rank++ ) {
  12.                          cards [count] =  PlayingCard( rank,suits[suit]);
  13.  
  14.  
  15.                count ++; 
  16.             }
  17.          }  
  18.  
May 7 '10 #14
jkmyoung
2,057 Expert 2GB
Expand|Select|Wrap|Line Numbers
  1. public class Card extends PlayingCard {
  2.      public String toString(){
  3.     // your code here
  4.     }
  5.  
Replace all instantiations of PlayingCard with Card
May 7 '10 #15
you mean have a new class Card??.but we are not allowed to do that.!!
May 7 '10 #16
jkmyoung
2,057 Expert 2GB
You have to keep the class abstract, but you're not allowed to have a new class?
You're screwed by a stupid assignment or unclear rules. Maybe the assignment is really to have you challenge stupid programming assumptions. Try talking to your teacher or teaching assistant.
May 7 '10 #17
yeah my professor sure loves giving such weird assignments n i gotta deal with it. He gives us a pre written progran and we gotta update it in soem way without changing what he has already done. But even though we arent allowed to have a new class we are allowed to have new methods or so. here's the link to the assignment, just in case case it gives a clearer view.

ftp://eve.kean.edu/pub/leew/cps2231/hmwk3.pdf
May 7 '10 #18
jkmyoung
2,057 Expert 2GB
FaceCard and NumberCard.
Expand|Select|Wrap|Line Numbers
  1. public class FaceCard extends PlayingCard { 
  2.      public String toString(){ 
  3.     // your code here 
  4.     } 
  5.  
  6. ....
  7.  
  8.  
  9.         for ( int suit = 0; suit <= 3; suit++ ) {  
  10.             for ( int rank = 2; rank <= 10;rank++ ) { 
  11.                          cards [count] =  NumberCard( rank,suits[suit]); 
  12.             }
  13.             for (int rank = 11; rank <= 14;rank++ ) {   
  14.                          cards [count] =  FaceCard( rank,suits[suit]);
May 7 '10 #19
hey may be u could just help me with this one last thing; the peekattopcard method. can u tell me how do i do that method?
May 7 '10 #20
That new way for the constructor still has the same issues. it still cannot find the symbol.pssh!!!

here's what i wrote

public Deck() {
cards = new PlayingCard[52];
count = 0;

Suit[] suits = {Suit.Clubs,Suit.Diamonds,Suit.Hearts,Suit.Spades} ;


//**** count = 0;

for ( int suit = 0; suit <= 3; suit++ ) {
for ( int rank = 2; rank <= 14;rank++ ) {
cards [count] = NumberCard( rank,suits[suit]);
}
for (int rank = 11; rank <= 14;rank++ ) {
cards [count] = FaceCard( rank,suits[suit]);



count ++;
}
}
May 7 '10 #21
jkmyoung
2,057 Expert 2GB
Assuming you start from the 2 of clubs. Once you deal a card, it is gone forever?

I would have an index value of cards used so far.
When you start, with 0 cards dealth, the first card will be cards[0]
If you've dealt 4 cards, the next card will be cards[4]
continue until you reach the count.
May 7 '10 #22

Sign in to post your reply or Sign up for a free account.

Similar topics

23
by: JC | last post by:
I am very new to programming and learning on my own. Why do I keep getting duplicate values using this code? I want to shuffle a deck of 52 cards. The logic seems right to me. Randomize For...
6
by: CaseyB | last post by:
If I wanted to create a game like Solitaire that would first randomly shuffle a deck of cards, I figured out that all I had to use is the Random() class or rnd and make sure I use the Randomize...
10
by: Arun Nair | last post by:
Can any one help me with this im not getting it even after reading books because there is not much of discussion anywhere a> Implement a calss that represents a playing card. The class should...
4
by: Pratik | last post by:
For the time being, I'm doing a simple swap method for my deck of cards using the random number generator in cstdlib. I've created a dynamic array of a type class Card. When I go to shuffle it and...
4
by: tvance929 | last post by:
Hey everyone, I created a theDeck class that creates a 52 card int List. Inside of this class I have a ShuffleCards method. I simply want 2 seperate decks that I can then shuffle and...
8
by: garyrowell | last post by:
I have been at this programme for hours trying to work out what is wrong. Any help would be very much appricated. Here is the breif I received. The program This week you are going to write three...
1
by: Vneha | last post by:
import java.util.*; public class Deck { public static int numSuits = 4; public static int numRanks = 13; public static int numCards = numSuits * numRanks; private Card...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.