It is impossible for a computer to have the same public and private IPv4 address. It is either a private IP, which (according to RFC1918) is in the range 192.168.xxx.xxx, 172.16.xxx.xxx, or 10.xxx.xxx.xxx, or a public IP, which is any other address.
EDIT: Yes, I am aware you can use public IP addresses in your LAN. Nobody does, though, because of standards and the fact that you will not be able to access those addresses on the Internet. I am also aware that there are other address spaces other than public and private, but again, no one uses those and thus you will not encounter them.
It is possible for every computer to have a different public IP address. It simply means that whatever establishment you were at purchased the right to multiple IP addresses and their routers are configured to give one to each computer. You could probably even do this at home if you wanted to.
Assuming what you said about every computer having the same public and private addresses is correct, my guess is that every computer has only a public address. All the establishment would have to do to make this happen is purchase the right to multiple addresses and configure their DHCP server to give an address in the assigned range to each computer.
1Proof is not what's interesting but the facts you could provide would perhaps allow us to clarify your situation. How do you determine the public IP and what does it look like? – Julie Pelletier – 2016-08-01T02:00:51.730
@JuliePelletier I did a google search of What's my IP. It starts with 137.167. Also, please read the update. – Flare Cat – 2016-08-01T02:03:22.697
87This is how the Internet was designed to work, and how it will (hopefully) work again in IPv6. – user253751 – 2016-08-01T04:58:27.600
13It is impossible for their public and private IPv4 addresses to be the same. Perhaps you incorrectly concluded that they have a private IPv4 address when they do not have a private address at all. – David Schwartz – 2016-08-01T10:43:17.637
@user20574 When do you think it is possible this might happen again? – Flare Cat – 2016-08-01T11:17:35.787
3@FlareCat: Apparently, for major sites such as Google.com, the majority of their users now use IPv6. Strictly speaking that doesn't mean they connect directly, but since companies get IPv6 addresses by the billions it's obvious that every IPv6 user could have its own IPv6 address. – MSalters – 2016-08-01T13:04:08.577
3@FlareCat imagine that every time you call someone on a different carrier, instead of having their direct number you only have the number of a big "switchboard" at the carrier. You'd have to tell them to route your call to that person manually. And when you do get a call the only number you see is the switchboard's, and not the person's direct number (because there is none). This is exactly what happens with IPv4 and NAT (your router becomes the switchboard) and is a huge pain to work with. IPv6 would allow every computer to have a "direct number" so no more NAT nonsense. – André Borie – 2016-08-01T14:27:58.370
1@DavidSchwartz There are plenty of NAT implementations that allow the same address on both sides :) – Navin – 2016-08-02T01:03:03.510
@Navin: Sure, but those aren't called "private" addresses just because they're on the wrong end of NAT; they're usually still globally-assigned. – user1686 – 2016-08-02T09:43:13.760
@MSalters According to google itself IPv6 adaption for google.com is about 13%. Source. Sadly far from a majority.
– Voo – 2016-08-02T18:49:41.5371@MSalters Can you provide a source for the claim that any company only got billions of IPv6 addresses? As far as I understand RFC 6177, the smallest assignment to an end user is about 18 quintillion addresses, and most companies have on the order of sextillions or more. – phihag – 2016-08-02T21:24:49.983
1@phihag: A quintillion is many, many billions ;) – MSalters – 2016-08-03T07:06:11.333
1@Navin NAT means Network Address Translation. If it's the same address on both sides, it's not translating anything. It's just a normal router. – Barmar – 2016-08-05T17:46:39.627